我正在使用CloudKit,并且有一个Model
类,其方法可以将用户首选项保存到云数据库中。我已经成功更新了我的Swift 3语法,以考虑Xcode 8 beta 6发布的最新提案。但是,我还有一个最后的错误,我似乎无法解决。我的功能代码是:
func savePreferences(preferences: UserPreferences, completion:
@escaping (CKRecord?, NSError?) -> Void) {
privateDatabase.save(preferences.record) {
record, error in
completion(record, error)
}
}
此处使用的record
实例的UserPreferences
属性的签名是:
var record : CKRecord
privateDatabase
是CKDatabase
。
我收到的错误是:
Cannot invoke 'save' with an argument list of type (CKRecord, (CKRecord?, Error?) -> Void)
我发现删除对completion
的调用会导致错误消失并允许成功构建。
我希望有人可以告诉我哪里出错了,或者这是否是Xcode 8 beta 6的错误。