繁体   English   中英

如何使用另一个包含对象的有序键的NSArray对对象的NSArray进行排序?

[英]How to sort an NSArray of objects using another NSArray which contains the ordered keys of objects?

例如,如果我有一个对象:

@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中)? 最有效的方法是什么?

谢谢!

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

您应该编写自己的比较器块,该块将根据ids在ids数组中的位置返回排序-即,当idA比idB离数组的开头更远时,返回NSOrderedAscending。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM