2015-06-16 64 views
1

我一直在Objective-C編程大約一年,但我是雲工具箱的新手。我可以做簡單的事情,例如抓取,保存和刪除記錄,但我一直無法找到刪除多個記錄的方法。 我嘗試了一個for循環,但是,雖然沒有錯誤,但沒有被刪除。 繼承人某些代碼:同時刪除多個CKRecords

 for (CKRecord* r in self.allRecords) { 
     [[[CKContainer defaultContainer] publicCloudDatabase] deleteRecordWithID:r.recordID completionHandler:^(CKRecordID *recordID, NSError *error) { 
      if (error) { 
       NSLog(@"error"); 
      }else 
       NSLog(@"deleted"); 
     }]; 
    } 

allRecords是含有我需要刪除記錄數組,但它不刪除任何記錄。 感謝

+0

你正在收到的回覆/錯誤是什麼? – harryhorn

+0

沒有錯誤,並且調用刪除日誌。記錄然後被查詢並加載到一個tableview中,並有相同數量的記錄 –

+0

我同意Trevor的迴應。看起來CloudKit中的記錄被正確刪除,基於您獲得成功響應的事實 – harryhorn

回答

0

如果你需要在一個CloudKit往返修改(即,保存或刪除)的多條記錄,您需要使用CKModifyRecordsOperationhttps://developer.apple.com/library/prerelease/ios/documentation/CloudKit/Reference/CKModifyRecordsOperation_class/index.html

你提到「allRecords是包含記錄數組我需要刪除它,但它不會刪除任何記錄「。

不清楚您的意思是不是從CloudKit中刪除記錄,或者您的意思是記錄未從您的self.allRecords陣列中刪除。

如果您希望將記錄從self.allRecords中刪除:他們不會。這是您的工作,需要在上面的代碼段中檢查CKModifyRecordsOperationdeleteRecordWithID:completionHandler:調用的響應之後進行管理。