繁体   English   中英

iOS核心数据对象的唯一标识符?

[英]Unique Identifier for iOS core data object?

我有一个使用Core Data的iPhone应用程序,但我似乎无法为特定实体找出一个可靠的唯一标​​识符。 情况如下:

我有一个Profile实体,与其他实体有关系。 在应用程序开始时,用户选择要使用“登录”的配置文件。 我需要在整个应用程序的使用过程中跟踪该特定的配置文件,以便我可以获取正确的相关对象。

如果我使用普通的sql数据库,我只会将profileID(主键)存储为App Delegate中的属性。 但是,在Core Data中,没有主键。

我知道有一个托管对象objectID,但从我读到的内容,它可以更改(用户可以在使用应用程序时更改其配置文件信息,这意味着必须获取然后重新保存)。 是否有最好的做法来处理我不知道的这种情况?

user1007895,

有一种机制可以持久化objectID -[NSManagedObjectID URIRepresentation]-[NSPersistentStoreCoordinator managedObjectIDForURIRepresentation:] 这些保证永远不会改变。

安德鲁

重新保存不会更改唯一的objectID,除非您重新创建(=复制)对象并保存它 - 否则唯一ID将毫无意义。

如果是这种情况,您可以随时拥有自己的id字段,在第一次创建配置文件时可以使用objectID填充该字段; 如果你不自己改变那个领域永远不会改变:-)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM