Core Data Fetched Properties 对对象之间的连接性进行排名
Posted
技术标签:
【中文标题】Core Data Fetched Properties 对对象之间的连接性进行排名【英文标题】:Core Data Fetched Properties to rank connectivity between Objects 【发布时间】:2009-07-24 09:39:54 【问题描述】:我想对实体 A 的实例与其他实例或实体 A 在我的图表中的连接强度进行排名。我只需要对最近查看的 n 个实体执行此操作。 我通过另一个实体 B 来描述实体 A 的两个实例之间的关系。这是因为我需要描述每个关系。
我正在考虑使用这样的获取属性:
ANY isSourceOfRelation.destinationThing == "$SOURCE_THING"
OR ANY isDestinationOfRelation.sourceThing == "$SOURCE_THING"
但我对此持谨慎态度,因为我怀疑它会通过关系而是通过详尽的搜索来评估这一点。这在桌面上不会是这样的问题,但在 iPhone 上,我的数据集就不实用了。
由于 Fetched Properties 被延迟评估并随后被缓存,我也许可以访问桌面上每个对象的 fetched 属性,但是这个缓存会保留在 sqlite 存储中吗?
我的替代方法是通过访问每个实体 B 以检索目标实体 A 并随后将它们添加到字典来动态评估它。
该图有 10,000 个实体 A 和它们之间的大约 30,000 个关系(实体 B)。
我的首要任务是表现。
你怎么看?
【问题讨论】:
【参考方案1】:听起来像是预先计算和按需单独加载的好选择,甚至可能在单独的商店中。如果实际数据很小,那也不会太费力,大多数 iPhone 可以为这类事情腾出一两兆的“磁盘”存储空间。
如果值是可变的,您可以在修改后运行后台线程以确保预计算表保持最新。如果用户在操作完成之前中断操作,“脏”标志会通知您,以便您可以在下次运行应用程序时再次执行此操作。
【讨论】:
以上是关于Core Data Fetched Properties 对对象之间的连接性进行排名的主要内容,如果未能解决你的问题,请参考以下文章
即使交易正常,今天也出现多个 ACCOUNT_CANNOT_BE_FETCHED 错误