NSArray
我想按索引降序排序。
我可以对数组值进行排序我如何按索引排序...
NSArray* arr = [[NSArray alloc] initWithObjects:@"First",@"Second",@"Third",@"Fifth",@"Last",nil];
结果应该是这样的
- 最后的
- 第五
- 第三
- 第二
- 第一的
iOS中是否有任何直接方法可用?
NSArray
我想按索引降序排序。
我可以对数组值进行排序我如何按索引排序...
NSArray* arr = [[NSArray alloc] initWithObjects:@"First",@"Second",@"Third",@"Fifth",@"Last",nil];
结果应该是这样的
iOS中是否有任何直接方法可用?
如果您只想反转数组,有一种优雅的方法可以做到这一点。
我在danielpunkass的这个答案中找到了解决方案。
NSArray *reversedArray = [[originalArray reverseObjectEnumerator] allObjects];
NSMutableArray *array = ...;
[array sortUsingComparator: ^(id obj1, id obj2) {
_NSComparisonResult result = [obj1 compare:obj2]; // [NSString compare:]
if (result == NSOrderedAscending)
return NSOrderedDescending;
if (result == NSOrderedDescending)
return NSOrderedAscending;
return NSOrderedSame;
}];
或者
NSMutableArray *array = ...;
[array sortUsingComparator: ^(id obj1, id obj2) {
_NSComparisonResult result = [obj1 compare:obj2]; // [NSString compare:]
return -result; // minus result
}];
请参阅有关 NSArray -sortUsingComparator 的苹果文档:
NSObjCRuntime.h
枚举_NSComparisonResult {NSOrderedAscending = -1,NSOrderedSame,NSOrderedDescending};