在 Cloudkit 中创建 CKRecord?

Creating a CKRecord in Cloudkit?

我是 CloudKit 的新手,正在尝试为我的 public 数据库 recordType "UserProfile" 创建一条记录。

我认为最后一行代码中的语法不正确,因为我收到错误消息“无法使用类型为 (CKRecord, (CKRecord!, NSError) -> Void 的参数列表调用 'saveRecord' )'

我是否因为我不知道的 Swift 更新而收到错误,感谢任何帮助!

var nameRecord = CKRecord(recordType: "UserProfile")
    nameRecord.setValue("Jimmy", forKey: "Name")
    CKContainer.defaultContainer().publicCloudDatabase.saveRecord(nameRecord) { (savedRecord: CKRecord!, error: NSError) -> Void in

    }

错误是因为您传入了一个 (CKRecord!,NSError) 类型的闭包,您应该传入其中一种类型 (CKRecord!,NSError!),或者使用显式可选类型而不是隐式展开的可选类型。

尝试:

var nameRecord = CKRecord(recordType: "UserProfile")
    nameRecord.setValue("Jimmy", forKey: "Name")
    CKContainer.defaultContainer().publicCloudDatabase.saveRecord(nameRecord) { (savedRecord: CKRecord?, error: NSError?) -> Void in

    }