使用 CoreData 时,我是否需要创建一个 ID 属性以便为每条记录提供某种唯一键,或者我可以访问表中每行的数据库 ID 字段吗?
如果有一种方法可以使用 DB ID 字段,我将不胜感激有关如何在通过 ManagedObject 实例保存记录时访问它的指导...
通常不需要创建 id 属性,因为每个对象都有一个对象 ID (NSManagedObjectID)。如果你有一个托管对象,你可以通过向它发送 -objectID 来获取它的 id。但有一个问题:
有一个问题:NSManagedObjectID 可以是临时的,也可以是永久的。创建对象时,它有一个临时 ID,直到您获得该对象的永久 ID。当您持久化一个对象时,Core Data 会自动为每个仍具有临时 ID 的对象获取一个永久 ID。
如果您需要自定义 ID 属性,您应该为每个实体单独创建它。不要创建具有 ID 属性的抽象实体。如果这样做,核心数据将为从抽象实体继承的所有实体创建一个巨大的(怪物)表。这不好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)