2012-01-20 64 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。

希望这会有所帮助。

相关问题