想要从具有链接的对象字典创建排序数组

时间:2014-11-21 19:30:21

标签: objective-c linked-list nsarray nsdictionary

我有一个 NSDictionary MyModel个对象,其中每个键都是 NSString ,表示对象的uid属性。每个模型都有一个名为nextModel的属性,该属性具有模型的uid字符串,应该在显示当前字符串之后对其进行排序。它基本上是虚拟链表

我试图编写一个函数, *将模型按顺序放入NSArray中。

我找不到任何搜索内容。 有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样非常简单的事情

NSArray *array = [dictionary.allValues sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"nextModel" ascending:YES]]];

如果您想要更多自定义排序,请尝试使用比较器。

NSArray *array = [dictionary.allValues sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
    if (obj1.value > obj2.value) {
        return NSOrderedAscending;
    }
    else {
        return NSOrderedDescending;
    }
}];