2012-01-20 62 views
0

例如,如果我有一個目的:如何使用另一個包含對象的有序鍵的NSArray對NSArray對象進行排序?

@interface MyObject 
{ 
    __id; 
    __data; 
} 

,我有這樣的對象的一個​​NSArray:

id=4 
data=Apple 
id=5 
data=Banana 
id=6 
data=Orange 

我也有ID的一個NSArray:

{"5", "4", "6"} 

現在我想通過ID將對象數組排序爲第二個數組中的順序,所以結果應該是:

id=5 
data=Banana 
id=4 
data=Apple 
id=6 
data=Orange 

是否有可能(在iPhone的ObjC中)?什麼是最有效的方法?

謝謝!

回答

1

您可以使用NSArray類的- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr函數。

你應該編寫你自己的比較器模塊,根據id在id數組中的位置返回排序 - 也就是說,當idA距離數組的起始點比idB更遠時返回NSOrderedAscending。

希望這會有所幫助。

相關問題