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 に答える