これは特別な注意が必要な問題だと思います... 私の 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)」だけでなく、追加のデバッグ情報で返信している他の人もいます。どうすればこれを入手できますか?)
ありがとう!