2012-12-28 143 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

相關問題