Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UITableViewCell按钮在插入新行时未获取标记_Iphone_Objective C_Ios_Xcode_Uitableview - Fatal编程技术网

Iphone UITableViewCell按钮在插入新行时未获取标记

Iphone UITableViewCell按钮在插入新行时未获取标记,iphone,objective-c,ios,xcode,uitableview,Iphone,Objective C,Ios,Xcode,Uitableview,我已经创建了一个tableview,我们可以在其中添加和删除行。在每一行上都有一个按钮,其标记与indexPath的标记相同。现在,当我在任何一行上方插入新行时,该单元格中的按钮会获得正确的标记,但其他单元格按钮会保留旧标记 我试过了 1.重新加载tableview-不工作 2.重新加载节-不工作 3.在所有IndExpath处重新加载行-不工作 我使用foll代码插入新行,但cellForRowAtInsexPath方法只被调用一次,即只对新添加的行调用一次,因此旧单元格上按钮的标记保持不变

我已经创建了一个tableview,我们可以在其中添加和删除行。在每一行上都有一个按钮,其标记与indexPath的标记相同。现在,当我在任何一行上方插入新行时,该单元格中的按钮会获得正确的标记,但其他单元格按钮会保留旧标记

我试过了 1.重新加载tableview-不工作 2.重新加载节-不工作 3.在所有IndExpath处重新加载行-不工作

我使用foll代码插入新行,但cellForRowAtInsexPath方法只被调用一次,即只对新添加的行调用一次,因此旧单元格上按钮的标记保持不变

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:newRowNo inSection:0];
NSArray *otherArray = [NSArray arrayWithObject:indexPath];
[tableViewObj insertRowsAtIndexPaths:otherArray withRowAnimation:UITableViewRowAnimationNone];
在cellForRowAtIndexPath:(NSIndexPath*)indexPath中,我有一个按钮infoButton,它的标签是根据indexPath设置的
infoButton.tag=indexPath.row

如果您在创建单元格时使用“dequeueReusableCellWithIdentifier:”方法,这可能就是按钮标记不更改的原因。

另一个原因是,表视图单元格中的标记以错误的方式计算按下了哪个按钮。查看我的答案:

请发布一些代码,其他一切都只是猜测。另一个原因是,表格视图单元格中的标记计算出按下的按钮是错误的。请看我的回答:“Jrutton考虑让你的评论成为答案!”如果你坚持,psoft不想从它那里得到不应有的代表,但它会允许这个问题结束。@macbirdie很高兴我不是唯一一个反对贴标签的人!你的解决方案也很好,+1。