2017-02-23 30 views
0

当我按下表格视图单元格中的按钮时,我正试图回到先前的视图控制器。要做到这一点我的理解是我应该做的线沿线的东西:如何从Swift 3中的UITableViewCell引用当前的UINavigationController?

navigationController.popViewController(animated: true) 

但是我发现它非常难以找到一种方法,从这个的UITableViewCell引用当前的UINavigationController。我试过这样的东西:

let navigationController = self.window?.rootViewController?.navigationController 

总是返回nil。

请帮我找到一种方法来从Swift 3中的UITableViewCell引用UINavigationController!

+1

'self.navigationController'应该可以工作 – NSDmitry

+0

UITableViewCell没有这个变量不幸的是 – Legatro

+0

我有一个引用的viewcontroller并且使用了你的代码 - 它的工作原理! Cheers @NSDmitry,非常感谢 – Legatro

回答

1

您不希望您的自定义单元格负责返回导航堆栈。如果你在别的地方再次使用这个单元,但是这个按钮预计会有不同的表现?

取而代之,为您的单元创建一个自定义代理并将其分配给视图控制器,该视图控制器显示tableView。 从这个控制器,你会得到navigationController一个简单的self.navigationController。它还可以提高代码的可维护性,可重用性和可读性。

相关问题