我试图将我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/