我觉得这是一个需要特别注意的问题......我的 Google-fu 非常好,但我无法获得任何有用的东西。
这是最简单的事情,但我似乎无法弄清楚它的问题所在。
我有一个 UITableView。这是我的 VC 调用 _form 的子视图。我将它用于样式目的,而不是真正显示数据。它有 2 个细胞。
在某个事件中,我尝试使用 selectRowAtIndexPath:animated:scrollPosition 选择不同的单元格。
当我这样做时,它会发出 SIGABRTS。
一个简单的例子:
- (IBAction)submitClicked:(id)sender
{
[_submit setTitle:@"Wha!?" forState:UIControlStateNormal];
NSIndexPath *row = [NSIndexPath indexPathWithIndex:0];
NSLog(@"%d", [[_form indexPathForSelectedRow] row]);
[_form selectRowAtIndexPath:row animated:YES scrollPosition:YES];
}
按钮的标题已更改,并且表格打印所选行是 0 或 1,但在尝试选择所需的单元格时,它会中断:
2012-03-09 21:57:39.905 <omitted>[16329:207] 0
2012-03-09 21:57:39.908 <omitted>[16329:207] *** Assertion failure in -[NSIndexPath row], /SourceCache/UIKit_Sim/UIKit-1912.3/UITableViewSupport.m:2598
(gdb)
我的假设是,这意味着我的表的配置方式有问题,但我不确定是什么。正常选择表格中的单元格(单击它)正在工作,正如我的 tableView:didSelectRowAtIndexPath 中的预期响应所示。除了这个,其他一切都适用于我的设置方式。
(另外,我其他人回复了额外的调试信息,而不仅仅是“(gdb)”。我怎么能得到这个?)
谢谢!