如何使用自定义对象对NSMutableArray进行排序?

时间:2012-12-28 13:33:22

标签: nsmutablearray sorting

我有一个带有对象“XX”的可变数组,我想根据对象“XX”中包含的变量对数组进行排序(参见下面的对象结构)。

我想按照VALUE1,VALUE2然后按NAME对数组进行排序。

有什么办法吗?

@interface XX:NSObject{

float VALUE1;
float VALUE2
NSString* NAME;

}

@end interface

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

1 个答案:

答案 0 :(得分: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
}];