gpt4 book ai didi

xcode - 防止核心数据将实体组合到一个表中

转载 作者:技术小花猫 更新时间:2023-10-29 11:10:56 25 4
gpt4 key购买 nike

有没有办法告诉 Core Data 在所有实体都继承自基础实体时不要将它们放入一个表中?这是一个例子:我们有一个“实体”对象,我们有一个从“实体”继承的“人”和“产品”。核心数据创建一个 ZENTITY 表,其中包含“实体”、“人员”和“产品”的组合字段。我们想要的是核心数据创建两个单独的表,一个用于“Person”,一个用于“Product”。

这可能吗?网上没有任何地方谈论这个......

最佳答案

我进行了测量,当对真实数据(约 50000 个对象,20 多个类,每个类具有约 5 种关系,其中大部分是一对多)数据使用继承时,CoreData 的性能完全下降。我不会将 CD 用于包含 1000 个对象的玩具应用程序 - 这是一个真正的大型应用程序,性能惩罚是不合理的。更糟糕的是,由于这种愚蠢的实现,创建小对象会占用大量 ssd 和内存空间。

唯一真正的解决方案(我确实需要继承)是使用 iOS 5 及更高版本的 NSIncrementalStore 手动实现替换默认的 sqlite 持久存储。然而,fetch 请求到 SQL 翻译和模型更新确实很难实现。

是的,我知道核心数据不是 SQL。但我希望它在处理大量数据时能够以相对快的速度运行 - 否则在现实世界的应用程序中使用它就太愚蠢了。

关于xcode - 防止核心数据将实体组合到一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5276369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com