我覺得這是一個需要特別注意的問題......我的Google-fu很不錯,但是我一直沒能得到任何有用的東西。UITableView聲明失敗selectRowAtIndexPath
這是最簡單的事情,但我似乎無法弄清楚它的問題是什麼。
我有一個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)」我怎樣才能得到呢?)
謝謝!
謝謝,哇,這是令人沮喪的。這就是我過分依賴代碼暗示告訴我的原因。它從來沒有表示過。 > :-( – Liandri 2012-03-10 20:15:31