丹麦语只有 3 个非标准字符:å 、ø 和 æ 。
当我尝试使用以下谓词搜索我的 Core Data 实体时:
name CONTAINS[cd] "ø" // correct results
name CONTAINS[cd] "æ" // correct results
name CONTAINS[cd] "å" // wrong results - with 'å' and 'a'
前 2 个谓词正常工作,但最后一个谓词不能正常工作。结果中同时包含“å”和“a”字母。
只有这一个字母有什么特别之处?
Best Answer-推荐答案 strong>
我建议您将查询字符串设为小写并且不要使用 [cd] 作为谓词语句的一部分,这既是为了优化核心数据,也是为了返回正确的结果。
工作示例:
NSArray *ar = @[@"å",@"a",@"åa"];
NSPredicate *predicate = [NSPredicate predicateWithFormat"self CONTAINS %@", @"å"];
NSArray *filteredArray = [ar filteredArrayUsingPredicate:predicate];
NSLog(@"Results: %@",filteredArray); // which returns (å,åa)
关于ios - NSPredicate 和丹麦字母 å 给出错误的结果,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/23496187/
|