我已經實現了一個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),需要刪除。如何刪除單元格?
應該意識到這一點,謝謝。 – Joe