我有一个设置,在其中我将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")
}
?
答案 0 :(得分:2)
您需要
guard let nav = self.navigationController as? NavControllerWithReference else { return }
print(nav.referenceToOtherVC)