如何在swift中设置childrenclass属性
How to set children class property in swift
在我左侧的视图控制器 ModuleDetailsVC 上,我有一个名为 moduleId 的 class 属性。我的问题是我想将这个 属性 传递给 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/Appear / SubViewLayout... 等
PS: 标题可能完全错误,如果您有任何想法,请编辑。
将触发 segue 以显示容器视图的视图控制器是其父视图控制器。在您的情况下,这是左侧的控制器 - ModuleDetailsVC
.
为了将数据传递给容器视图的控制器 ChartVC
,您只需在呈现控制器 (ModuleDetailsVC
) 中覆盖 prepareForSegue
。
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
}
}
在我左侧的视图控制器 ModuleDetailsVC 上,我有一个名为 moduleId 的 class 属性。我的问题是我想将这个 属性 传递给 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/Appear / SubViewLayout... 等
PS: 标题可能完全错误,如果您有任何想法,请编辑。
将触发 segue 以显示容器视图的视图控制器是其父视图控制器。在您的情况下,这是左侧的控制器 - ModuleDetailsVC
.
为了将数据传递给容器视图的控制器 ChartVC
,您只需在呈现控制器 (ModuleDetailsVC
) 中覆盖 prepareForSegue
。
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
}
}