m0r*_*mer 4 iphone xcode objective-c nsarray
如何按字母顺序重新排序NSArray的元素(NSString)?
NSSortDescriptor对于其元素只是NSString实例的数组进行排序是过分的.
NSArray *sortedArray = [unsortedArray sortedArrayUsingSelector: @selector(compare:)];
Run Code Online (Sandbox Code Playgroud)
如果您希望重新排序NSMutableArray实例的元素而不是实例化其元素排序的新数组,那么有一种方法:
[unsortedMutableArray sortUsingSelector: @selector(compare:)];
Run Code Online (Sandbox Code Playgroud)
当您有一个大型对象为您管理数组时,请使用NSSortDescriptor实例,如NSArrayController或NSTableView.如果是这种情况,并且元素只是NSString的实例,那么@ iHS的答案是正确的.
你可以使用 sortDescriptor
NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"yourKey" ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
NSArray * sortedArray =
[yourArray sortedArrayUsingDescriptors:descriptor];
Run Code Online (Sandbox Code Playgroud)