【问题标题】:Get subclassed navigationController of current ViewController获取当前 ViewController 的子类 navigationController
【发布时间】:2019-06-25 21:42:04
【问题描述】:

我有一个设置,我将 UINavigationController 子类化以添加一个属性,该属性持有对另一个 ViewController 的引用

class NavControllerWithReference: UINavigationController { 
    public var referenceToOtherVC: OtherVC? 
}

现在,当我在这个子类 NavigationController 中的一个 ViewController 中时,我想访问引用属性。对于“正常”的 NavigationController,我通常只访问 navigationController 属性,该属性将返回 navigationController。显然,它将它作为 UINavigationController 返回,即使它是子类的,我不能这样做:

let navC = navigationController
if navC is [NavControllerWithReference] {  
    print("Yes")
}

这只是告诉我:

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

如何从子视图控制器访问referenceToOtherVC

【问题讨论】:

    标签: ios swift uinavigationcontroller subclass


    【解决方案1】:

    你需要

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 2016-02-25
      • 2017-10-22
      相关资源
      最近更新 更多