我想不通怎么做这件事。
我从plist中获取数组,这个数组充满了数字(在plist中设置)。现在我需要做的就是对它们进行排序,使它们按降序排列,但我做不到这一点。
发布于 2012-06-25 00:53:21
试一下这段代码?
NSArray *array = /* loaded from file */;
array = [array sortedArrayUsingSelector: @selector(compare:)];发布于 2012-06-25 01:07:48
下面将按升序对数字进行排序,然后反转结果以给出降序的数字:
NSArray *sorted = [[[array sortedArrayUsingSelector:@selector(compare:)] reverseObjectEnumerator] allObjects];前面的问题还有一些其他的选择:Sort an NSArray in Descending Order
发布于 2015-03-05 01:19:12
这里是使用比较块的众多方法中的一个。对于任何包含要排序的数字的数组,此代码片段都很方便。对于升序:
AscendingArray = [UnsortArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];对于降序:
DescendingArray = [UnsortArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
return (NSComparisonResult)NSOrderedSame;
}];https://stackoverflow.com/questions/11179300
复制相似问题