2013-07-22 14 views
0

我已經實現了一個NSFetchedResultsController,並且通過滑動顯示的刪除按鈕(這是UITableView中的標準控件,而不是我自定義的東西)成功實現了行刪除。我已通過覆蓋- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath來完成此操作,以便刪除單元格引用的核心數據數據庫中的實體。如果我有一個必須刪除的UITableViewCell的引用,如何從NSFetchedResultsController中刪除它?

現在我想實現我自己的刪除控制。我在UITableViewCell子類中添加了一個UIPanGesture,這樣當你平移一個單元格時,會顯示一個刪除按鈕,隨着單元格被移出(類似於iOS 7郵件應用或Clear應用程序)。通過自定義協議,具有NSFetchResultsController的視圖控制器將會按照其自定義刪除按鈕的單元格。有了這個,我可以通過NSIndexPath *indexPath = [self.tableView indexPathForCell:cellToDelete]; 來計算索引路徑以及需要刪除的單元格。唯一的問題是:如何刪除此單元格?

UITableView有一個deleteRowsAtIndexPaths: withRowAnimation:方法。據我所知,NSFetchResultsController沒有這樣的方法。我想我需要的是- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath,因爲我已經在那裏實現了刪除。

摘要:在一個UIViewController我有一個NSFetchedResultsController和指向一個單元格(以及它的indexPath),需要刪除。如何刪除單元格?

回答

0

FRC由您的Corw Data模型的內容驅動,因此,您需要刪除與該行關聯的模型對象,並且FRC將接收更改(它正在觀察數據存儲)並刪除單元格從桌子上看。

+0

應該意識到這一點,謝謝。 – Joe

相關問題