1

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

我想按 VALUE1、VALUE2 和 NAME 对数组进行升序排序。

有什么办法吗?

@interface XX:NSObject{

float VALUE1;
float VALUE2
NSString* NAME;

}

@end interface

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

4

1 回答 1

1

您需要使用的是一种叫做Comparator 块的东西。当你这样做时,这可以用来对你的数组进行排序

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
}];
于 2012-12-28T13:40:11.677 回答