2010-12-10 122 views
0

您好我是Objective-C的新手,我尝试做一些尝试。 我有一个名为“值”的NSArray。它是一个数组的数组。这似乎是:如何使用嵌套的NSArray对NSArray进行排序

[ “0”=> “ASTRING”,6872,5523,0091]

[ “1”=> “anotherString”,4422,1234,0091]

[” 2“=>”aString“,6812,2143,0314] ...

如何排序”值“数组比第一个整数值? 我应该使用NSPredicate? 请帮助我一些例子。 感谢

回答

3

类似的东西与块(假设你的整数值是NSNumber的或某些类可以比较):

NSArray *sortArray = [yourArray sortedArrayUsingComparator: ^(id elt1, id elt2) { 
    return [[elt1 objectAtIndex:1] compare:[elt2 objectAtIndex:1]]; 
    } ]; 
+0

感谢您的溶液。我发现了另一个使用这种方法静态NSInteger intSort(id num1,id num2,void * context) { int v1 = [[num1 objectAtIndex:1] intValue]; int v2 = [[num2 objectAtIndex:1] intValue]; if(v1 v2) return NSOrderedAscending;其他 返回NSOrderedSame; } 以及此声明:[values sortedArrayUsingFunction:intSort context:NULL]其中,值是要排序对象的NSArray。 – Cerve86 2010-12-20 08:59:57