如何按字母顺序重新排序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