2015-02-10 80 views
0

我有一个名为对象的NSArray。此阵列可能看起来像这样:排序NSArray由其他NSMutableDictionary

[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。

预先感谢您。

回答

0

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

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