如何使用CloudKit提取记录来初始化结构

时间:2019-05-10 15:07:39

标签: swift cloudkit

我有一个带有多个变量的Struct,包括recordID:CKRecord.ID和record:CKRecord。我对结构的初始化函数使用CKFetchRecordsOperation查询CloudKit数据库,以询问是否存在ID = recordID的记录。如果是这样,我想获取它并对其初始化记录变量;否则,我将创建一个新记录。我正在尝试在似乎合适的提取操作的perRecordCompletionBlock中进行赋值,但是编译器拒绝此操作并出现以下错误:具有隐式捕获的inout参数的嵌套函数只能用作非转义参数。我该如何处理?

我尝试在多个地方使用@转义,但没有效果。

这是我的完成块-self是提到的结构,ckRecord是CKRecord类型的变量,createRecord会构建一个新的CKRecord并将其分配给ckRecord。

    func myCompletion(record:CKRecord?, recordID:CKRecord.ID?, error:Error?) -> () {
        if error == nil {
            self.ckRecord = record!
        } else {
            createRecord()
        }
     }

0 个答案:

没有答案