如果在客户端生成 CKRecordID.recordName 有什么缺点吗?

Any drawback if CKRecordID.recordName is generated on client?

如果在客户端生成recordName,可以提供更流畅的用户体验。

var uuid = NSUUID().UUIDString

你知道这样做有什么坏处吗?

这应该正是给定 CKRecordID 构造函数的设计目的。

只要您不尝试将同一生成的 ID 插入到多个记录中(这可能会迫使您添加更多的错误处理),我看不出有任何缺点。

recordName总是在客户端生成。

如果您的应用程序未提供 recordName,CloudKit 框架将在将其发送到服务器之前在客户端生成一个 UUID。

与让 CloudKit 框架为您生成 UUID 相比,在您自己的代码中生成 UUID 没有任何加速。

存在客户端创建的 recordName 以帮助您的应用程序将 CloudKit 记录映射到您自己的本地数据存储。如果您不需要这样做,那么您可以将其保留到 CloudKit.