我需要从一个NSSet
数据源中填充UITableView
,很明显我希望按一些标准对表进行排序。
我可以简单地使用[mySet sortedArrayUsing...]
创建已排序的NSArray
并将其用作我的表数据源。但是我需要更强大的功能:底层的NSSet
(mySet
)会随着时间的推移而改变,我希望UITableView
相应地更新(当然仍然是排好序的)。
目前最好的办法是将观察器附加到NSSet
上,并每次NSSet
发生更改时刷新NSArray
和UITableView
。这涉及到相当多的代码,效率也不高。
因此,我想要的东西可能是这样的:
NSArray* sortedWrapperArray = [SortedWrapper wrapperFor:mySet sortUsing:sortCriteria];
当底层集合发生变化时,sortedWrapperArray
会自动更新。
在 Objective-C/Cocoa 的世界中是否有类似的东西呢?
O(log n)
,你确定吗?-[NSMutableArray insertObject:atIndex:]
真的是O(1)
吗? - v1Axvw