我有多个TableViewDatasources,需要根据特定属性显示来自同一个池的对象列表。例如。
object.flag1 is set- it will show up in TableView1
object.flag2 is set- it will show up in TableView2显而易见的方法是为每个TableView拥有单独的数组,但是在不同的数组中可能会出现相同的对象。另外,我需要经常更新对象,或者通过相同的数组访问所有对象。
如何设置单个字典或数组,使所有对象都位于一个结构中?
换句话说:当表视图或选择发生变化时,应用程序需要用新的数据重新绘制TableViews。应用程序必须访问对象池,并使用迭代器搜索对象池,并访问每个对象及其属性。
我认为这是一个昂贵的行动,并希望避免这种情况。也许可以通过使一个全局对象池成为一个字典,并将对象属性公开为字典字段。
因此,我可以通过选择具有符合特定条件的字段的对象来访问全局池,而不是迭代全局对象池,而是以数据库的方式访问全局池。
有人知道这样做的例子吗?
发布于 2009-08-05 07:27:39
这听起来像是过早优化的情况。除非您正在管理数百个项和/或导致重绘频繁发生,否则迭代甚至是100个对象和维护两个数组都不会产生足够的开销--内存或CPU --不会产生问题。
以简单的方式实现它,然后度量它以确定您是否真的存在性能问题。
发布于 2009-08-05 07:28:14
我倾向于创建充当数据源的代理集合。这些代理在准备内容时从池中收集适当的对象。在不知道你的池和子集的规模的情况下,考虑优化它还为时过早。
https://stackoverflow.com/questions/1216286
复制相似问题