私は 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 のバグであるかどうかを誰かが教えてくれることを願っています。