如何将didSelectRowAtIndexPath中选择的行数传递给initWithNibName?

时间:2011-02-10 10:28:58

标签: iphone objective-c cocoa-touch didselectrowatindexpath

我有一个tableView(第一个视图)和detailView(下一个视图),其中包含该表的详细信息。

现在,在从第一个视图中选择特定行时,我想将第一个视图的didSelectRowAtIndexPath中所选行的索引号传递给下一个视图的initWithNibName。我怎么能这样做?

1 个答案:

答案 0 :(得分: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];
}