localizedCaseInsensitiveCompare

localizedCaseInsensitiveCompare

我试图将我NSDictionary中所有键的数组放入一个数组,并使用localizedCaseInsensitiveCompare进行排序。我首先尝试做:

NSArray *test = [myDict keysSortedByValueUsingSelector@selector(localizedCaseInsensitiveCompare:)]];


我一直在获取NSCFNumber localizedCaseInsensitiveCompare:]: unrecognized selector。我仔细检查了一下,所有的2个键(现在)都是字符串。

我不得不转而做使其工作:

NSArray *items = @[[[languages allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]];


这是为什么?!

谢谢!

最佳答案

因为是keysSortedBy**Value**UsingSelector,这就是为什么出现NSNumber异常的原因,因为是按值而不是键进行排序,因此您将NSNumbers作为值。

关于ios - NSDictionary allKeys,然后使用选择器与keys进行排序SortedByValueUsingSelector,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17569537/

10-14 20:53