关键代码如下:
@interface XYZToDoListTableViewController ()
@property NSMutableArray *toDoItems;
@end
@implementation XYZToDoListTableViewController
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[_toDoItems removeObjectAtIndex: indexPath.row];
// [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
// withRowAnimation:UITableViewRowAnimationFade];
[self.tableView deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
[self.tableView reloadData];
}
}
这里要实现一个TableView的删除功能,我在第14行写上
[toDoItems removeObjectAtIndex: indexPath.row];
Xcode会报错,并提示我改成_toDoItems。
改成了_toDoItems能实现功能,但是为什么要加下划线在下面呢?
toDoItems
是property
,你要引用他必须是self.toDoItems
,至于下划线的话,是编译器会自动生成并把toDoItems
绑定到一个你看不到的变量_toDoItems
,你需要搞明白property
是什么。尤其在没有ARC之前,提示:systhesize