我有一个多维NSMutableArray,我想在其中一个对象上对它进行排序。数组是这样创建的:
[NSMutableArrayName addObjectsFromArray:[NSMutableArray arrayWithObjects:[NSMutableArray arrayWithObjects:name,[NSNumber numberWithInteger:x],nil],nil]];
我找不到使用第二个对象(整数x)的值对整个数组排序的方法。
一如既往感谢您的帮助
这听起来像是sortUsingComparator:
的一个很好的案例。你可以这样使用它:
[NSMutableArrayName sortUsingComparator:^NSComparisonResult(id o1, id o2){
NSInteger a = [[o1 objectAtIndex:1] integerValue]; // Or however to extract the int from your array element
NSInteger b = [[o2 objectAtIndex:1] integerValue];
if (a < b) return NSOrderedAscending;
if (a > b) return NSOrderedDescending;
return NSOrderedSame;
}];
如果你的目标是ios 4.0之前的版本,你可以使用sortUsingFunction:context:
并将块内容放入c风格的函数中完成相同的事情。