确定CKRecord是否由当前用户创建

时间:2017-02-04 05:18:53

标签: ios swift comparison cloud cloudkit

我是CloudKit的新手,我试图弄清楚当前用户是否创建了一个记录。我已经研究过这个主题,并且有两种方法可以做到这一点。我不确定哪一个是对的还是更好的,我甚至不太清楚第二种方法是如何工作的。

第一种方法是使用以下方法获取当前用户,然后将其与创建记录的用户进行比较:

sudo usermod -a -G nginx ubuntu

第二种方式涉及对CKRecord的扩展:

func fetchUserRecordID(
    completionHandler: (recordID: CKRecordID?, error: CKError?) -> Void
)

1 个答案:

答案 0 :(得分:1)

第一种方法是再次调用服务器以获取其他记录。缺点是成本时间,它与您的每月流量配额相关,并且您还有另一个异步回调函数,您的代码流将必须考虑。如果您最终调用此检查,则会为服务器生成大量不必要的流量。

第二种方法是检查已经提取的记录附带的值creatorUserRecordID。因此,在检查其值时,它是所有本地数据,不需要对服务器进行额外调用,也不需要进行异步处理。

根据答案:creatorUserRecordID.recordName contains "__defaultOwner__" instead of UUID shown in Dashboard__defaultOwner__是本地用户的同义词。

对于我能想到的大多数场景,第二种方法看起来是更好的选择。