indexPathForSelectedRow
does not work because the row is not selected.
Define a property to hold the current row selected for deletion:
@property (nonatomic, strong) NSIndexPath *indexPathOfDeleteRow;
Then use tableView:commitEditingStyle:forRowAtIndexPath
to update the property:
- (void) tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
self.indexPathOfDeleteRow = indexPath;
}