0
說,我有一個實體「父母」,可以有多個「孩子」。在刪除時,我這樣做:刪除與UITableViewRowAnimationFade的關係
[self.parent removeChildObject:self.childToRemove];
[self.managedObjectContext save:nil];
隨着不僅如此,現場並沒有改變,該行不會被刪除。所以我所做的是我找回根據該「父」了所有的「孩子」,並呼籲
[self.tableview reloadData];
雖然它做了正確的,但是,刪除似乎瞬間。該行在一眨眼的時候就消失了。我希望它與行漸變動畫。
我讀到只有使用NSFetchedResultsController獲取的實體調用了這個委託方法「didChangeObject」,我把我的行動畫淡入淡出。然而,對於檢索「孩子」,我沒有使用控制器獲取,但我取它
[self.parent children];
我應該在哪裏放置removechildobject和manageobjectcontext.save。因爲當我試圖只保存deleterowatindexpath後,我得到一個異常,並在保存之前也得到錯誤 – iPhoneJavaDev
您需要將上下文之外的對象保存在NSMutableArray或NSArray中。從數組中刪除對象,更新該數組中的表,分別更新上下文。 – AdamG
當我顯示它們時,這些對象已經保存在NSArray中。我試着把你的代碼放在我的removeChildObject方法之前,但是我的應用程序掛在了endUpdates上。我希望你能清楚地給出我以前的代碼給出的順序。 – iPhoneJavaDev