获取当前 ViewController 的子类 navigationController
Get subclassed navigationController of current ViewController
我有一个设置,我将 UINavigationController 子类化以添加一个 属性 保存对另一个 ViewController
的引用
class NavControllerWithReference: UINavigationController {
public var referenceToOtherVC: OtherVC?
}
现在,当我位于此子类 NavigationController 中的 ViewController 之一时,我想访问引用 属性。对于 "normal" NavigationController,我通常只访问 navigationController
属性,这会 return navigationController。显然,它 return 作为 UINavigationController,即使它是子类,我也不能做类似的事情:
let navC = navigationController
if navC is [NavControllerWithReference] {
print("Yes")
}
这只是告诉我:
"Cast from UINavigationController to unrelated type NavControllerWithReference always fails".
如何从子视图控制器访问 referenceToOtherVC
?
你需要
guard let nav = self.navigationController as? NavControllerWithReference else { return }
print(nav.referenceToOtherVC)
我有一个设置,我将 UINavigationController 子类化以添加一个 属性 保存对另一个 ViewController
的引用class NavControllerWithReference: UINavigationController {
public var referenceToOtherVC: OtherVC?
}
现在,当我位于此子类 NavigationController 中的 ViewController 之一时,我想访问引用 属性。对于 "normal" NavigationController,我通常只访问 navigationController
属性,这会 return navigationController。显然,它 return 作为 UINavigationController,即使它是子类,我也不能做类似的事情:
let navC = navigationController
if navC is [NavControllerWithReference] {
print("Yes")
}
这只是告诉我:
"Cast from UINavigationController to unrelated type NavControllerWithReference always fails".
如何从子视图控制器访问 referenceToOtherVC
?
你需要
guard let nav = self.navigationController as? NavControllerWithReference else { return }
print(nav.referenceToOtherVC)