爲什麼遠程刪除實體不會從核心數據和數據存儲中移除刪除?在 開頭設置一個斷點 - (空)deleteCachedObjectsMissingFromResult:(RKObjectMappingResult *)在RKManagedObjectLoader結果 顯示出來的變量結果不包含任何東西。RestKit /核心數據:遠程刪除實體獲得不從核心數據
我可以通過在RestKit委託中實現這個特性來解決這個問題 - (void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)對象,但是在我看來這是一種不潔的代碼。 RestKit/Core Data應該自己做這件事?!不管怎樣,下面的實現可以解決這個問題:
- (void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects
{
NSArray *allReservations = [Reservation findAll];
for(Reservation *reservationRecord in allReservations) {
if(![objects containsObject:reservationRecord]) {
[[[[RKObjectManager sharedManager] objectStore] managedObjectContextForCurrentThread] deleteObject:reservationRecord];
}
}
}
任何想法來解決這個問題,而不didLoadObjects的幫助?添加/更新現有實體正常工作。
我被困在完全相同的點。很高興你在這裏有一個解決方案,但我想知道爲什麼方法-deleteCachedObjectsMissingFromResult不會刪除現在不存在的服務器對象。我發現方法-fetchRequestForResourcePath不會返回適當的fetchRequest,但我還沒有做足夠的研究來查看RKObjectMappingProvider如何爲資源路徑存儲/創建fetchRequests。 –