0

请参见下面的代码,它从数组中删除对象但不重新加载表

- (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文件

4

2 回答 2

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];
}

}

使用类似的东西

于 2013-01-11T10:47:55.313 回答
1

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

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

-(void)tableView:(UITableView *)一个表视图...

于 2013-01-11T10:48:22.890 回答