2015-06-16 4 views
1

Я программировал в объективе-C около года, но я новичок в облачном комплекте. Я могу делать простые вещи, такие как выборка, сохранение и удаление записей, но я не смог найти способ одновременного удаления нескольких записей. Я пробовал цикл for, но, хотя ошибок не было, ничего не было удалено. Heres часть кода:Удаление нескольких 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

Нет ошибки и вызывается журнал удаления. Записи затем запрашиваются и загружаются в табличное представление, и есть такое же количество записей. –

+0

Я согласен с ответом Тревора ниже. Кажется, что записи ARE правильно удалены в CloudKit на основе того факта, что вы получаете успешный ответ – harryhorn

ответ

0

Если вам нужно изменить (то есть, сохранить или удалить) несколько записей в один CloudKit редиректа, вы должны использовать CKModifyRecordsOperation: https://developer.apple.com/library/prerelease/ios/documentation/CloudKit/Reference/CKModifyRecordsOperation_class/index.html

Вы упоминаете «allRecords представляет собой массив, содержащий записи который мне нужно удалить, но он не удаляет какие-либо записи ».

Непонятно, имеете ли вы в виду, что записи не удаляются из CloudKit, или вы имеете в виду, что записи не удаляются из вашего массива self.allRecords.

Если вы ожидаете, что записи будут удалены с self.allRecords: они не будут. Это ваша работа по управлению после изучения ответа от CKModifyRecordsOperation или deleteRecordWithID:completionHandler: в вашем фрагменте выше.

Смежные вопросы