我是CloudKit的新手,我试图弄清楚当前用户是否创建了一个记录。我已经研究过这个主题,并且有两种方法可以做到这一点。我不确定哪一个是对的还是更好的,我甚至不太清楚第二种方法是如何工作的。
第一种方法是使用以下方法获取当前用户,然后将其与创建记录的用户进行比较:
sudo usermod -a -G nginx ubuntu
第二种方式涉及对CKRecord的扩展:
func fetchUserRecordID(
completionHandler: (recordID: CKRecordID?, error: CKError?) -> Void
)
答案 0 :(得分:1)
第一种方法是再次调用服务器以获取其他记录。缺点是成本时间,它与您的每月流量配额相关,并且您还有另一个异步回调函数,您的代码流将必须考虑。如果您最终调用此检查,则会为服务器生成大量不必要的流量。
第二种方法是检查已经提取的记录附带的值creatorUserRecordID
。因此,在检查其值时,它是所有本地数据,不需要对服务器进行额外调用,也不需要进行异步处理。
根据答案:creatorUserRecordID.recordName contains "__defaultOwner__" instead of UUID shown in Dashboard,__defaultOwner__
是本地用户的同义词。
对于我能想到的大多数场景,第二种方法看起来是更好的选择。