私は CloudKit を使用しており、Modelユーザー設定をクラウド データベースに保存するメソッドを持つクラスを持っています。Xcode 8 ベータ 6 でリリースされた最新の提案に対応するために、Swift 3 構文を正常に更新しました。ただし、解決できない最後のエラーが 1 つあります。私の関数のコードは次のとおりです。
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 ベータ 6 のバグであるかどうかを誰かが教えてくれることを願っています。