如何按字母順序重新排序NSArray的元素(NSString)?如何按字母順序重新排序NSArray的元素(NSString)?
4
A
回答
4
可以使用sortDescriptor
NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"yourKey" ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
NSArray * sortedArray =
[yourArray sortedArrayUsingDescriptors:descriptor];
4
可以使用NSSortDescriptor類排序目的
NSSortDescriptor * sortDesc = [[NSSortDescriptor alloc] initWithKey:@」self」 ascending:YES];
[array sortUsingDescriptors:[NSArray arrayWithObject:sortDesc]];
[sortDesc release];
欲瞭解更多信息,看看
0
當然,你可以做到這一點嘗試使用NSSortDescriptor
起飛的幫助已經問Display data in alphabetical order iphone
5
NSSortDescriptor是矯枉過正數組排序的元素只是的NSString實例。
如果不是與排序其元素實例化一個新的數組,你想有一個的NSMutableArray例如重新排序的元素,對此有專門的方法:
[unsortedMutableArray sortUsingSelector: @selector(compare:)];
使用的NSSortDescriptor實例,當你有一個大對象管理你的數組,像NSArrayController或NSTableView。如果是這種情況,並且元素只是NSString的實例,那麼@ iHS的答案是正確的。
0
Swift 3.0:
類別是Category - > [Category]的數組。
let sortDescriptor = NSSortDescriptor(key: "name", ascending: true, selector: #selector(NSString.caseInsensitiveCompare(_:)))
let orderedCategories = (categories as NSArray).sortedArray(using: [sortDescriptor])
用您的自定義對象數組替換類別。如果您使用的是常規NSArray,請將(categories as NSArray)
替換爲您的陣列。
相關問題
- 1. 如何按字母順序排列NSArray?
- 2. 按字母順序重新排序TableView
- 3. 按字母順序排序元素,然後按數字排序
- 4. 按字母順序排列NSArray
- 5. 按字母順序排列NSArray
- 6. 如何按字母順序對字典對象排序NSArray?
- 7. 排序元素按字母順序重複基於子女
- 8. 按字母順序排序,然後按字母順序排列
- 9. 按字母順序排序
- 10. 按字母順序排序
- 11. 按字母順序排序
- 12. 按字母順序排序
- 13. 排序按字母順序
- 14. 按字母順序排序
- 15. 按字母順序排序
- 16. 我如何按字母順序排列NSDictionary中的值與NSArray?
- 17. 如何按字母順序排序NSMutableOrderedSet?
- 18. 如何按字母順序排列ArrayList <>的元素?
- 19. 按字母順序對NSString中的字符進行排序
- 20. 如何將對象的NSArray排序爲按字母順序排列的NSDictionary?
- 21. 排序JSON(由特定的元素)按字母順序
- 22. 按照字母順序對NSString的NSMutableArray進行排序
- 23. NSArray不按數字順序排序
- 24. 按字母順序重新排序字符串變量
- 25. 按字母順序排序iPhone TableView從RSS按字母順序排序
- 26. 如何按字母順序重新排列?
- 27. 按字母順序排列元組
- 28. 按字母順序排列第二個字的NSArray
- 29. 按字母順序排列
- 30. 按字母順序排列
我第二個這個。但是,如果您使用NSSortDescriptor,則可以使用@「」,@「self」或甚至@「description」作爲NSString數組的排序鍵。但爲什麼不使用蘋果給出的比較:爲此? – 2012-01-19 15:31:44