2012-12-10 11 views
12

私はこの引数で多くを読んでいますが、私は動作するこの例をテストしました: source code example。しかし、これはストーリーボードを使用していません(これが私のプロジェクトがうまくいかない理由がわからない場合) ストーリーボードを使用して別のプロジェクトを作成しましたが、同じシーケンスの命令は機能しません...プログラムでuitableview行を選択してください

-(void)viewDidAppear:(BOOL)animated{ 
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0]; 
    [firstController.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; 
    [firstTable.delegate tableView:firstTable didSelectRowAtIndexPath:indexPath]; 
} 

ここは私のプロジェクトです。以前のリンクと同じですが、viewDidAppearを追加するだけです my not working project 誰かが何か問題を教えてくれるのですか?あなたがしたい場合 おかげ

答えて

25

はfirstController.tableViewがnilであるということです。
だから、それを修正:

[firstTable selectRowAtIndexPath:indexPath 
         animated:NO 
        scrollPosition:UITableViewScrollPositionNone]; 

またはテーブルビューにfirstController.tableViewを割り当てます。

22
- (void)viewDidLoad { 
    [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone]; 
} 

デリゲートからのコールバック:私はproject.Theの問題をダウンロードしてコードを勉強しようとした

if ([self.tableView.delegate respondsToSelector:@selector(tableView:didSelectRowAtIndexPath:)]) { 
    [self.tableView.delegate tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; 
} 
関連する問題