didSelectRowAtIndexPath和segues

Ale*_*Tau 3 objective-c uitableview segue

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

Jor*_*ers 7

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

使用故事板时,有一种新方法可以显示新的视图控制器.通过UITableViewCell在Interface Builder中使用seque 连接到新的视图控制器.执行此操作时,无需使用,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;
}
Run Code Online (Sandbox Code Playgroud)

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

没有正确的方法,只需使用对您来说最简单的方法.

  • `[self.tableView indexPathForSelectedRow];` (4认同)