2011-02-10 10 views
0

私はtableView(最初のビュー)とそのテーブルの詳細を含むdetailView(次のビュー)を持っています。didSelectRowAtIndexPathから選択された行の数をinitWithNibNameに渡すにはどうすればよいですか?

最初のビューから特定の行を選択すると、最初のビューのdidSelectRowAtIndexPathから選択した行のインデックス番号を次のビューのinitWithNibNameに渡します。どうやってやるの?

答えて

1

-initWithNibName:bundle:ではなく、そのメソッドをインスタンス化して呼び出す独自のメソッドをビューコントローラに実装できます。その方法では、

// in your view controller 
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle index:(NSInteger)index { 
    [self initWithNibName:nibName bundle:nibBundle]; 
    // do your stuff with the index here 
} 

// in your table view delegate 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    DetailView *vc = [[DetailView alloc] initWithNibName:@"YourNibName" bundle:nil index:indexPath.row]; 
    [self.navigationController pushViewController:vc animated:YES]; 
    [vc release]; 
} 
+0

という名前が必要です。 :) – Zaraki

関連する問題