2012-12-28 37 views
1

我有一个可变数组与对象“XX”,我想根据包含在对象“XX”(参见下面的对象的结构)中的变量对数组进行排序。如何使用自定义对象对NSMutableArray进行排序?

我想排序数组由VALUE1,VALUE2,然后由NAME升序。

有没有办法做到这一点?

@interface XX:NSObject{ 

float VALUE1; 
float VALUE2 
NSString* NAME; 

} 

@end interface 

任何帮助,非常感谢! :-) 谢谢!

回答

1

你需要使用什么叫做Comparator block。这可以用来排序你的阵列

array sortUsingComparator: ^(id objA, id obj2){ 
    if(((XX*)objA).Value1 > ((XX*)obj2).Value1){ 
     return (NSComparisonResult)NSOrderedDescending; 
    }else if(((XX*)objA).Value1 < ((XX*)obj2).Value1){ 
     return (NSComparisionResult)NSOrderedAscending; 
    }else{ 
     //keep comparing here, because value 1 are equal 
    } 
    //sorting logic goes here, returning a (NSComparisonResult) type here 
}]; 
+0

谢谢!这非常有用! :-) – user1595462

相关问题