gpt4 book ai didi

cocoa - NSSortDescriptor initWithKey :ascending:comparator: didn't work with localizedCaseInsensitiveCompare

转载 作者:行者123 更新时间:2023-12-03 16:32:50 25 4
gpt4 key购买 nike

在核心数据获取请求中,我想对结果进行排序,不区分大小写。所以我编码:

NSSortDescriptor *sortDescriptor = 
[[NSSortDescriptor alloc] initWithKey:@"name"
ascending:YES
comparator:^(id s1, id s2)
{

return [s1 localizedCaseInsensitiveCompare:s2];
}];

但不幸的是结果仍然是: B U a y z。

但是该 block 似乎没问题,因为如果我用该代码对结果进行排序:

NSMutableArray* names = ......
[names sortUsingComparator:^(id s1, id s2)
{

return [s1 localizedCaseInsensitiveCompare:s2];
}];

结果是: aBcUyz。

我的错在哪里?

最佳答案

我找到了一个解决方案,不是使用 Block - 而是使用选择器:

NSSortDescriptor *sortDescriptor =
[[NSSortDescriptor alloc] initWithKey:@"question"
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)];

如果“name”是核心数据实体的字符串属性,它就可以很好地工作。

关于cocoa - NSSortDescriptor initWithKey :ascending:comparator: didn't work with localizedCaseInsensitiveCompare,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8274077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com