From 2fd2f7593f7eae4e1a538fbe55a7098d78fc3d62 Mon Sep 17 00:00:00 2001 From: Roman Efimov Date: Tue, 30 Apr 2013 12:35:54 -0500 Subject: [PATCH] Ability to set deletionHanlder without completion --- RETableViewManager/RETableViewItem.h | 1 + RETableViewManager/RETableViewManager.m | 2 ++ .../Classes/Controllers/EditingViewController.m | 3 +-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/RETableViewManager/RETableViewItem.h b/RETableViewManager/RETableViewItem.h index 96a3522..755d65f 100644 --- a/RETableViewManager/RETableViewItem.h +++ b/RETableViewManager/RETableViewItem.h @@ -43,6 +43,7 @@ @property (copy, readwrite, nonatomic) void (^accessoryButtonTapHandler)(id item); @property (assign, readwrite, nonatomic) BOOL movable; @property (copy, readwrite, nonatomic) void (^insertionHandler)(id item); +@property (copy, readwrite, nonatomic) void (^deletionHandler)(id item); @property (copy, readwrite, nonatomic) void (^deletionHandlerWithCompletion)(id item, void (^)(void)); @property (copy, readwrite, nonatomic) void (^moveHandler)(id item, NSIndexPath *sourceIndexPath, NSIndexPath *destinationIndexPath); @property (copy, readwrite, nonatomic) BOOL (^allowNewIndexPath)(NSIndexPath *newIndexPath); diff --git a/RETableViewManager/RETableViewManager.m b/RETableViewManager/RETableViewManager.m index 0f59639..02343ca 100644 --- a/RETableViewManager/RETableViewManager.m +++ b/RETableViewManager/RETableViewManager.m @@ -241,6 +241,8 @@ [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; }); } else { + if (item.deletionHandler) + item.deletionHandler(item); [section.items removeObjectAtIndex:indexPath.row]; [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; } diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/EditingViewController.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/EditingViewController.m index 8dff963..bfe640f 100644 --- a/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/EditingViewController.m +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/EditingViewController.m @@ -40,9 +40,8 @@ for (NSInteger i = 1; i <= 5; i++) { RETableViewItem *item = [RETableViewItem itemWithTitle:[NSString stringWithFormat:@"Section 1, Item %i", i] accessoryType:UITableViewCellAccessoryNone selectionHandler:nil]; item.editingStyle = UITableViewCellEditingStyleDelete; - item.deletionHandlerWithCompletion = ^(RETableViewItem *item, void (^completion)(void)) { + item.deletionHandler = ^(RETableViewItem *item) { NSLog(@"Item removed: %@", item.title); - completion(); }; [section addItem:item]; }