3

我正在使用故事板。在将新的 UItableViewController 推送到导航堆栈时,我对使用 segues 存在疑问。怎么做才对?当推送来自单元格中的点击并仅使用 didSelectRowAtIndexPath?请分享您的意见。

4

1 回答 1

7

您根本没有提到它,但从您提到的 a 来看,segue您正在使用故事板。

使用故事板时,有一种新的方式来显示新的视图控制器。通过UITableViewCell使用序列连接到 Interface Builder 中的新视图控制器。当您这样做时,无需使用didSelectRowAtIndexPath:,因为新的视图控制器将自动显示。但是,您可以准备segue, 并在新视图控制器上设置参数,例如:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // assumes only one type, more extensive checking before cast to 
    // make it safer is needed.
    MyViewController *viewController = (MyViewController *) segue.destinationViewController;

    viewController.detailObject = myModelObject;
}

对于未使用 segue 连接的任何 tableview 单元格,您可以使用普通 old 提供自己的行为tableView:didSelectRowAtIndexPath:

没有正确的方法,只要使用对你来说最简单的方法。

于 2012-02-08T10:54:40.677 回答