tableView编辑委托方法不起作用(无效更新:第0节中的行数无效)

时间:2014-09-18 09:42:11

标签: ios uitableview

'NSInternalInconsistencyException',原因:'无效更新:第0节中的行数无效。更新后的现有部分中包含的行数(6)必须等于该部分中包含的行数。更新(6),加上或减去从该部分插入或删除的行数(插入1个,删除0个),加上或减去移入或移出该部分的行数(0移入,0移出)。

->@property (nonatomic ,strong)  NSMutableArray *name;

    - (id)initWithFrame:(CGRect)frame viewName:(NSInteger)viewDecide datasourceName:(NSMutableArray *)nameRef  
    {

    }

当我在这个类中初始化上面的MutableArray时 喜欢

self.name=[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3", nil];

然后使用表视图编辑委托方法,一切正常,当我点击按钮时,表格进入删除和插入的编辑模式。

但是当我使用我在上面的方法中传递的数据源初始化相同的数组时。 tableview中的数据可以正确呈现,但是当我单击编辑按钮时它会崩溃。

注意: - 我用过  行数 -

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return[self.name count];
}

并插入

[strongSelf.tableViewDataView1 insertRowsAtIndexPaths:[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:0 inSection:0], nil] withRowAnimation:UITableViewRowAnimationLeft];

 and for deleting i used

 [strongSelf.tableViewDataView1 deleteRowsAtIndexPaths:[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:0 inSection:0], nil] withRowAnimation:UITableViewRowAnimationLeft];

: - strongSelf被使用,因为这发生在一个区块内。

1 个答案:

答案 0 :(得分:0)

您正在从表中删除项目,而不是从阵列中删除。您必须从数组中删除相同的内容,以便计数保持不变。