尝试使用一个(整数)对象对多维可变数组进行排序

时间:2011-04-27 01:27:10

标签: iphone sorting sdk multidimensional-array

我有一个多维NSMutableArray,我想在其中一个对象上对它进行排序。创建数组:

        [NSMutableArrayName addObjectsFromArray:[NSMutableArray arrayWithObjects:[NSMutableArray arrayWithObjects:name,[NSNumber numberWithInteger:x],nil],nil]];       

我找不到使用第二个对象的值(整数x)对整个数组进行排序的方法。

一如既往的帮助。

1 个答案:

答案 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风格的函数中。