表数据重装问题

时间:2013-01-11 10:30:59

标签: iphone tableview reload

见下面的代码,它从数组中删除了对象,但它没有重新加载表

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
forRowAtIndexPath:(NSIndexPath *)indexPath 
{
    NSLog(@" commitEditingStyle");
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    {
        NSLog(@" commitEditingStyle Delete ");
        [self.arry removeObjectAtIndex:indexPath.row];
        [tableView reloadData];
    } else if (editingStyle == UITableViewCellEditingStyleInsert)
    {
        NSLog(@" commitEditingStyle Insert ");
        [self.arry insertObject:@"New Row" atIndex:[arry count]];
        [tableView reloadData];
    }
}  

我也[tableView reloadData]写了ViewWillAppear& ViewDidLoad但它没有重新加载。

TableView通过故事板&添加到ViewController中。 IBoutlet已添加到.h文件

2 个答案:

答案 0 :(得分:1)

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 

forRowAtIndexPath:(NSIndexPath *)indexPath {

if (editingStyle == UITableViewCellEditingStyleDelete) {
    [arryData removeObjectAtIndex:indexPath.row];
    [tblSimpleTable reloadData];
} else if (editingStyle == UITableViewCellEditingStyleInsert) {
    [arryData insertObject:@"Mac Mini" atIndex:[arryData count]];
    [tblSimpleTable reloadData];
}

}

使用类似的东西

答案 1 :(得分:1)

您必须将消息发送到您的插座(如果您有一个,即self.tableView)或直接发送到调用委托方法的tableview:[aTableView reloadData];(请注意 a )。

如果仔细查看方法签名,您会看到tableView实例以aTableView的形式传递给您:

-(void)tableView:(UITableView *) aTableView ...