获取当前ViewController的子类navigationController

时间:2019-06-25 11:52:17

标签: ios swift uinavigationcontroller subclass

我有一个设置,在其中我将UINavigationController子类化,以添加一个保存对另一个ViewController的引用的属性

<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="table"></div>

现在,当我进入这个子类化NavigationController内的ViewController之一时,我想访问reference属性。对于“常规” NavigationController,我通常仅访问class NavControllerWithReference: UINavigationController { public var referenceToOtherVC: OtherVC? } 属性,该属性将返回navigationController。显然,即使它是子类的,它也将其作为UINavigationController返回,并且我无法执行以下操作:

navigationController

这只是告诉我:

  

“从UINavigationController转换为不相关的类型NavControllerWithReference始终失败”。

如何从子视图控制器访问let navC = navigationController if navC is [NavControllerWithReference] { print("Yes") }

1 个答案:

答案 0 :(得分:2)

您需要

guard let nav = self.navigationController as? NavControllerWithReference  else { return }
print(nav.referenceToOtherVC)