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元素。
任何幫助將不勝感激。