Ios 如何在swift中设置子类属性

Ios 如何在swift中设置子类属性,ios,swift,view,xcode6,uicontainerview,Ios,Swift,View,Xcode6,Uicontainerview,在左侧的视图控制器ModuleDetailsVC上,有一个名为moduleId的类属性。我的问题是我想把这个属性传递给ChartVC,以便生成相应的图形。 我有一个容器视图,因为我的图表视图需要一个不同的视图控制器 class ModuleDetailsVC: UIViewController { @IBOutlet weak var chartSubView: UIView! private var _module: Module? [...] } class ChartVC:

在左侧的视图控制器ModuleDetailsVC上,有一个名为moduleId的类属性。我的问题是我想把这个属性传递给ChartVC,以便生成相应的图形。 我有一个容器视图,因为我的图表视图需要一个不同的视图控制器

class ModuleDetailsVC: UIViewController {
  @IBOutlet weak var chartSubView: UIView!
  private var _module: Module?

  [...]
}

class ChartVC: UIViewController {
  var moduleId: Int!

  func setModuleId(moduleId: Int) {
    self.moduleId = moduleId
  }

  [...]
}
在何处调用ChartVC.setModuleId()?如果调用此选项是正确的解决方案。。。(我已经尝试过ViewDidLoad/出现/子视图布局…等)

附:标题可能完全错了,如果你有任何想法,就编辑吧


将触发segue以显示容器视图的视图控制器是其父视图控制器。在您的示例中,这是左侧的控制器-
ModuleDetailsVC

class ModuleDetailsVC: UIViewController {
    private var module: Module

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if let chartVC = segue.destinationViewController as? ChartVC {
            chartVC.setModuleId(module.id)
        }
    }
}

class ChartVC: UIViewController {
    var moduleId: Int!

    func setModuleId(moduleId: Int) {
        self.moduleId = moduleId
    }
}
为了将数据传递到容器视图的控制器
ChartVC
,您只需覆盖呈现控制器中的
prepareforsgue
ModuleDetailsVC


这会有帮助,也会感谢你,我会读到这篇文章。通过问这个问题,我也想确认我的设计是合法的,没有更好的选择。你能确认我这一点吗,即使我知道没有“完美”吗solution@Shoaib好的,我现在只是第一个链接,我已经知道了。我已经使用了这种技术r我的常用视图使用segue查看数据传递。但对我来说,我描述的情况不是模拟的,因为我使用的是容器视图,我已经尝试使用segue进行数据传递,但没有结果。(我猜segue没有像往常一样使用?)如果你知道如何使用此segue enligthen me:)好的,阅读完其他两个链接,它们也是关于赛格的,我已经知道了。我只是不知道如何将它应用到这种“类型”的segue:/n你能分享显示
ChartVC
的代码吗,或者解释一下你是如何将它连接到故事板中的吗?该死,我一开始试过了,但我用segue标识符检索到了segue,无法使它工作。是因为我不能用segue标识符吗?非常感谢。@Mayerz使用segue标识符实际上应该也能工作,如果你在故事板中设置了它,并且没有在代码中键入错误。那么我的问题就没用了,我一定犯了一个愚蠢的错误,因为所有这些东西都很琐碎,这只是我第一次使用ViewContainer,所以我把错误记在了计数上,并没有对每件事都进行三次检查。谢谢