将对象提交到下一个TableViewController

时间:2010-02-12 06:56:53

标签: iphone objective-c cocoa-touch uitableview

我有一个tableview控制器。 如果选择了一个单元格,请执行以下操作:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

ablogSingleCatTableViewController *singleCatTableViewController = [[ablogSingleCatTableViewController alloc] initWithStyle:UITableViewStylePlain];

// Push the detail view controller.
[[self navigationController] pushViewController:singleCatTableViewController animated:YES];
[singleCatTableViewController release];
}

我想将一个对象提交给选中此行后滑入的下一个视图控制器。 我必须这样做吗?

ablogSingleCatTableViewController *singleCatTableViewController = [[ablogSingleCatTableViewController alloc] initWithStyle:UITableViewStylePlain];
[singleTableViewController setMyObject:superDuperObject];

还是有更简单的方法来做这样的事情? 我在初始化这个tableviewcontroller之后直接需要这个对象,用它来填充属于这个对象的特定数据。

请给我一些建议。

感谢

1 个答案:

答案 0 :(得分:1)

初始化视图控制器时,您也可以将对象传递给下一个视图控制器 为此,您需要为视图控制器实现自己的初始化程序 例如:

- (id)initWithStyle:(UITableViewStyle)style superDuper:(SuperDuper*)superDuperObject {
    if (self = [super initWithStyle:style]) {
        superDuper = superDuperObject;
    }
    return self;
}

然后,

ablogSingleCatTableViewController *singleCatTableViewController =
    [[ablogSingleCatTableViewController alloc] initWithStyle:UITableViewStylePlain superDuper:superDuperObject];