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
中)
简短的回答是,区域名称只需要在用户私有(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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |