丹麦语只有 3 个非标准字符:å
、ø
和 æ
。
当我尝试使用以下谓词搜索我的 Core Data
实体时:
name CONTAINS[cd] "ø" // correct results
name CONTAINS[cd] "æ" // correct results
name CONTAINS[cd] "å" // wrong results - with 'å' and 'a'
前 2 个谓词工作正常,但最后一个谓词不行。结果中同时包含“å”和“a”字母。
只有这一个字母有什么特别之处?
最佳答案
我建议您将查询字符串设置为小写,并且不要使用 [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/