在Simperiums的iOS / OSX教程中,您说每个建模对象都应该从SPManagedObject继承。
我还没有尝试过,但是这不会导致SQLite数据库中的一个大表包含所有建模管理对象的所有字段的并集吗?
答案 0 :(得分:4)
是的,引擎盖核心数据将倾向于创建一个更大的表。一般来说,性能会受到关系的影响,而不是继承: Using Parent Entity in CoreData Models
我们已经完成了与相当复杂的继承层次结构的集成,并且没有看到任何关于大量数据的直接问题。
话虽如此,如果您需要对表结构进行更多控制,您可以避免为所有对象设置单个父对象,而是:
手动将ghostData和simperiumKey属性添加到要同步的对象,并确保其类为SPManagedObject
(或确保其自定义类继承自SPManagedObject
)或
使用ghostData和simperiumKey属性创建多个父实体,并从模型中有意义的部分继承,具体取决于您希望如何构建基础表。