按成员字典的键对数组进行排序

时间:2011-03-29 03:12:11

标签: objective-c

如果这有点令人困惑,这里是一个视觉表现:

数组>对象>字典>值

如果这有帮助,可以参考以下内容:

数组包含播放列表。每个播放列表都有一个字典。每个字典都包含元数据。

我需要通过此元数据对原始字典进行排序。

我一直很难实现这一点。想法?

[编辑] 将较高的字典更改为数组

1 个答案:

答案 0 :(得分:5)

您想要使用至少一个NSSortDescriptor。这基本上是一种表示排序方式的抽象方式。它可以包含一个键路径(在一秒钟内更多)或一个函数指针,或其他一些比较两个对象的方法。

您可能希望将其与关键路径一起使用。因此,如果您有一个Foo个对象数组,并且它们具有返回NSDictionary的“字典”属性,并且您希望根据字典{{}下的字典中的值对数组进行排序。 1}},然后您创建的排序描述符将是:

@"bar"

从此处您可以使用[NSSortDescriptor sortDescriptorWithKey:@"dictionary.bar" ascending:YES] 并将其传递给包含此-[NSArray sortedArrayUsingDescriptors]的数组。