如何从Swift 3中的UITableViewCell引用当前的UINavigationController?

时间:2017-02-23 12:32:09

标签: swift swift3 uinavigationcontroller

当按下表格视图单元格中的按钮时,我正在尝试返回上一个视图控制器。要做到这一点,我的理解是我应该按照以下方式做点什么:

navigationController.popViewController(animated: true)

但是我发现从这个UITableViewCell中找到引用当前UINavigationController的方法非常困难。我尝试过这样的事情:

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

这总是返回nil。

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

1 个答案:

答案 0 :(得分:1)

您不希望自定义单元格负责返回导航堆栈。如果你在其他地方再次使用这个单元格会怎么样但是这种按钮的行为会有所不同呢?

而是为您的单元格创建自定义委托protocol,并将其分配给显示tableView的视图控制器。  通过此控制器,您将获得navigationController一个简单的self.navigationController。它还将提高代码的可维护性,可重用性和可读性。