こんにちは、ユーザーの名前を入力して、ユーザーに対応するレコードを返信する小さな関数を作成しようとしています。私は迅速なファイルを作成しました:
import Foundation
import CloudKit
import UIKit
func getGetMainUser(name : String) -> CKRecord {
var myRecord : CKRecord!
let container = CKContainer.defaultContainer()
let publicDB = container.publicCloudDatabase
let predicate = NSPredicate(format: "nickName == name")
let query = CKQuery(recordType: "usersAtributes", predicate: predicate)
publicDB.performQuery(query, inZoneWithID: nil) {
record, error in {
if error != nil {
println(error.localizedDescription)
} else {
if record.count == 1 {
myRecord = record[0] as CKRecord
}
}
}
}
return myRecord
}
私が理解していないのは、performQuery の inZoneWithID の値が nil であるため、このコードをコンパイルできないことです。この構文は、私のコードの他の部分では機能しますが、正しくない可能性があります。これは私が得るエラーです:
Cannot convert the expression's type '(CKQuery!, inZoneWithID: NilLiteralConvertible, ((ST5,(ST5,ST6) -> (ST5, ST6) -> ST4) -> (ST5,(ST5,ST6)-> ST4) -> ST4,((ST5,ST6) -> (ST5,ST6)...