didSelectRowAtIndexPath和segues

时间:2012-02-08 10:35:06

标签: objective-c uitableview segue

我正在使用Storyboard。在将新的UItableViewController推送到导航堆栈时,我对使用segue存在疑问。怎么做对了?当推送是由单元格中的点击产生并且只使用didSelectRowAtIndexPath时没有segue? 请分享您的意见。

1 个答案:

答案 0 :(得分:7)

你根本没有提到它,但是你提到segue你正在使用故事板来判断。

使用故事板时,有一种新方法可以显示新的视图控制器。通过使用seque将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单元格,您可以使用普通的tableView:didSelectRowAtIndexPath:提供自己的行为。

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