集成:我应该为图像选择哪种类型的全局标识符?

Ensembles: what type of global identifier should I choose for image?

我目前正在实施 persistentStoreEnsemble:globalIdentifiersForManagedObjects:委托并且很难决定提供什么全局标识符。

我的核心数据模型有两个实体:书籍和图像。

对于图书对象,没有问题,因为我可能应该 return 一个 UUID,它应该存储在图书的专用 属性 中。

但是,我不确定图像的全局标识符。请注意,图像和书籍实体在数据模型中是一对一的关系,具有 'cascade' 删除规则,这意味着一旦删除一本书,链接的图像也会被删除。因此,如果没有链接到书籍,图像就不能存在于数据库中。

根据以上描述,我想知道我是否应该 return NSNull、UUID 或哈希码(在运行时根据图像数据计算)作为给定图像对象的全局标识符?

感谢任何建议。

我会说,只需使用 UUID。我想图像是作为外部数据存储在实体上的,对吧?如果是这种情况,Ensembles 会将其同步,并会自动使用哈希值来确保在图片碰巧相同时不会被上传两次。因此,对于您的实体,只需像对图书实体一样使用 UUID。