【问题标题】:How to sort an NSArray of objects using another NSArray which contains the ordered keys of objects?如何使用另一个包含对象有序键的 NSArray 对对象的 NSArray 进行排序?
【发布时间】:2012-02-14 18:04:39
【问题描述】:

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

@interface MyObject
{
    __id;
    __data;
}

我有一个这样的对象的 NSArray:

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

我还有一个 NSArray 的 id:

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

现在我想按 id 对对象数组进行排序,使其按第二个数组中的顺序排列,所以结果应该是:

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

这可能吗(在 iPhone 的 ObjC 中)?什么是最有效的方法?

谢谢!

【问题讨论】:

    标签: iphone sorting nsarray


    【解决方案1】:

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多