gri*_*ett 1 cocoa core-data objective-c
我想在添加/更改/删除某种类型的实体时收到通知.我知道这可以通过添加一个观察者来实现managedObjectContext,但是我必须搜索返回的三个集合以查看它们是否包含该类型的对象.我可以使用filteredSetUsingPredicate,但每次有变化时进行三次O(n)操作似乎效率低下.还有另一种更有效的方法来实现这一目标吗?
这似乎效率低下?根据什么测试和观察?您如何看待NSArrayController的工作原理(提示 - 阅读Cocoa Bindings)?:-)当然,使用SQLite存储类型,您可以获取数据库中的过滤器,但是对于内存中的对象更改呢?
如果我在你的位置,我会把它连接起来并用我想象的性能测试它是一个真实用户可能会遇到的合理的最坏情况.
如果您发现性能确实不足,那么最好发布一个单独的问题来描述您的数据模型,您需要观察给定实体的所有实例的所有更改的原因,以及Instruments表示性能接收器发生的位置.