在UINavigationBar加上edit bar button item,结合UITableView的Edit功能
添加edit bar button item 与添加add bar button item 有所不同, 可以直接使用
self.editButtonItem
下面是详细的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableViewMain.delegate=self;
self.tableViewMain.dataSource=self;
UIBarButtonItem *add=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add)];
UIBarButtonItem *edit=self.editButtonItem;
self.navigationItem.rightBarButtonItems=[NSArray arrayWithObjects:add,edit, nil];
[self fetchResults];
}
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
[self.tableViewMain setEditing:editing animated:animated];
}
UITableViewDelegate:
#pragma mark -TableViewDelegate methods
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle==UITableViewCellEditingStyleDelete) {
NSManagedObject *deleted=[self.fetchedResultsController objectAtIndexPath:indexPath];
[self.managedObjectContext deleteObject:deleted];
NSError *error;
BOOL success;
success=[self.managedObjectContext save:&error];
if (!success) {
NSLog(@"%@",[error localizedDescription]);
}
[self fetchResults];
[self.tableViewMain deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];
}
}

浙公网安备 33010602011771号