我正在使用Storyboard。在将新的UItableViewController推送到导航堆栈时,我对使用segue存在疑问。怎么做对了?当推送是由单元格中的点击产生并且只使用didSelectRowAtIndexPath时没有segue? 请分享您的意见。
答案 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:
提供自己的行为。
没有正确的方法,只要使用对你来说最简单的东西。