通过其他NSMutableDictionary对NSArray进行排序

时间:2015-02-10 11:47:39

标签: ios objective-c uitableview nsdictionary nssortdescriptor

我有一个名为objects的NSArray。这个数组可能如下所示:

[0]
   "name" => blaBlaBla
   "foo"  => b
   "bar"  => c

[1]
   "name" => bluBluBlu
   "foo"  => b
   "bar"  => c

我还有一个NSMutableDictionary,它每秒都会改变。这看起来像这样

['blaBlaBla']
   "sortValue" => 1

['bluBluBlu']
   "sortValue" => 4

我想在UITableView中将数据呈现在数组中。我想按照NSMutableDictionary的“sortValue”的降序来呈现它

我该怎么做?我已经尝试过NSSortDescriptor,但我只能对NSMutableDictionary进行排序,而不是我的NSArray。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

NSArray方法sortedArrayUsingComparator:采用比较两个对象的块。您可以以任何方式编写该块,包括使用字典查找数组中每个元素的排序值。

如果您的sortValue字典在另一个线程上发生更改,那么您需要在排序之前复制它,以避免在排序过程中将其更改。如果字典的排序和更改都发生在主线程上,则没有问题。