0

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

4

0 に答える 0