我需要从NSSet数据源填充UITableView.显然我希望按一些标准对表进行排序.
我可以使用[mySet sortedArrayUsing …]创建一个已排序的NSArray,并将其用于我的表数据源.但我需要更强大的功能:底层的NSSet(mySet)会随着时间的推移而发生变化,我希望UITableView能够相应地更新(当然还是排序).
我目前最好的选择是将观察者附加到NSSet,并在每次NSSet更改时刷新NSArray和UITableView.它涉及相当多的代码,但效率不高.
所以我想拥有的是这样的东西,我想:
NSArray* sortedWrapperArray = [SortedWrapper wrapperFor:mySet sortUsing:sortCriteria];
其中sortedWrapperArray在基础集更改时自动更新.
在Objective-C/C++ocoa世界中有类似的东西或类似的吗?
解决方法
如果您的应用仅在iOS 5.0或更高版本上运行,则可以使用NSOrderedSet