OStack程序员社区-中国程序员成长平台

标题: ios - CKRecordZoneID 是否需要每个用户唯一? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:49
标题: ios - CKRecordZoneID 是否需要每个用户唯一?

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-推荐答案


简短的回答是,区域名称只需要在用户私有(private)数据库中的其他区域中是唯一的。

CKRecordZoneID 和区域名称之间存在细微但重要的区别。

CKRecordZoneID 在整个容器中必须是唯一的,但 CKRecordZoneID 不仅仅是区域名称。

如果您查看 CKRecordZoneID,您会发现它同时具有 zoneName 属性和 ownerName 属性。 ownerName 是当前用户的记录 ID(或 CKOwnerDefaultName,在将值发送到服务器之前,它会被真实的用户 ID 替换)。

zoneNameownerName 的组合在整个容器中必须是唯一的,但由于每个用户都有自己唯一的用户 ID(用于 ownerName) 您可以为每个用户创建一个具有相同 zoneName 的区域,并且不会产生任何冲突。

关于ios - CKRecordZoneID 是否需要每个用户唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29288271/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4