0
我有一个NSArray
的NSDictionaries
,其中我从NSDictionary
中的一个元素创建NSArray
的NSStrings
。如何使用不同的排序功能对NSArray进行排序
然后我尝试对两者进行排序,但是我得到的结果稍有不同。
的NSDictionary
简单
NAME
Number
我是第一个NSArray
和使用字典的NAME要素创建一个新的NSArray
。
我然后排序第一阵列这样
NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"NAME" ascending:YES]; // 1
sortedByNameArray = [dataArrayOfDictionaries sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]];
然后我采取第二阵列,而这正是前首先以相同的顺序进行排序,并这样
// sorts nicknames
newSortedArray = [nameOnlyArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
排序它虽然这两个数组按字母顺序排序,但localizedCaseInsensitiveCompare:
似乎在排序时做得很好,因为我的其他sortedArrayUsingDescriptors:
似乎只使用第一个字母进行排序,所以它没有真正排序。
我想申请localizedCaseInsensitiveCompare
到词典的NSArray
一些帮助..但我不知道如何做到这一点考虑,你必须访问第一个NSArray
内的每个NSDictionary
的NAME元素。
任何帮助将不胜感激。