2016-11-13 71 views
1

我試圖在CKRecord上設置父級。基本上,提醒是列表中的孩子。該列表已經存在於服務器上。CKRecord設置父錯誤4097

let record = CKRecord(recordType: "Reminder", recordID: recordID) 
let listID = CKRecordID(recordName: listName, zoneID: listZoneID) 
record["title"] = "Test TODO" 
record.setParent(listID) 
let modifyRecordsOp = CKModifyRecordsOperation(recordsToSave:[record], recordsToDelete:nil) 
modifyRecordsOp.modifyRecordsCompletionBlock = { (_, _, error) in 
    guard error == nil else { 
     print(error) 
     return 
    } 
} 

每次我這樣做,我得到以下錯誤: [LogFacilityCK]得到了操作28174DD7CAF85542連接錯誤:錯誤域= NSCocoaErrorDomain代碼= 4097「連接服務名爲com.apple.cloudd」的UserInfo = {NSDebugDescription =連接到名爲com.apple.cloudd的服務}

如果我刪除setParent行,那麼記錄在服務器上成功創建。難道我做錯了什麼?

回答

1

這可能是因爲listID記錄尚未保存到雲中,因此雲無法將listID設置爲record的父項。嘗試保存兩個新創建的記錄:

let modifyRecordsOp = CKModifyRecordsOperation(recordsToSave:[record, listID], recordsToDelete:nil)