CloudKit 记录区是按用户创建的,还是适用于所有人?
A CKRecordZoneID object uniquely identifies a record zone in a database.
这似乎暗示它对每个人都有影响。
A record zone ID distinguishes one zone from another by a name string and the ID of the user that created the zone.
但是,ID 附加所有者名称这一事实听起来像是基于每个用户的?
我问的原因是我想知道我是否可以为应用程序创建一个 RecordZoneID 或者是否需要为每个用户存储它(在 NSUserDefaults 中)
Best Answer-推荐答案 strong>
简短的回答是,区域名称只需要在用户私有(private)数据库中的其他区域中是唯一的。
CKRecordZoneID 和区域名称之间存在细微但重要的区别。
CKRecordZoneID 在整个容器中必须是唯一的,但 CKRecordZoneID 不仅仅是区域名称。
如果您查看 CKRecordZoneID ,您会发现它同时具有 zoneName 属性和 ownerName 属性。 ownerName 是当前用户的记录 ID(或 CKOwnerDefaultName ,在将值发送到服务器之前,它会被真实的用户 ID 替换)。
zoneName 和 ownerName 的组合在整个容器中必须是唯一的,但由于每个用户都有自己唯一的用户 ID(用于 ownerName ) 您可以为每个用户创建一个具有相同 zoneName 的区域,并且不会产生任何冲突。
关于ios - CKRecordZoneID 是否需要每个用户唯一?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/29288271/
|