我有一个多维NSMutableArray,我想在其中一个对象上对它进行排序。创建数组:
[NSMutableArrayName addObjectsFromArray:[NSMutableArray arrayWithObjects:[NSMutableArray arrayWithObjects:name,[NSNumber numberWithInteger:x],nil],nil]];
我找不到使用第二个对象的值(整数x)对整个数组进行排序的方法。
一如既往的帮助。
答案 0 :(得分:4)
这听起来像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风格的函数中。