【问题标题】:How to pass data from parent view controller to child container view controller如何将数据从父视图控制器传递到子容器视图控制器
【发布时间】:2020-04-01 07:02:26
【问题描述】:

我正在尝试使用容器将数据从 ParentVC 发送到 childVC。该容器未嵌入,因为它在我的应用程序中多次使用,因此我无法使用 prepareForSegue。我在 ViewDidLoad 中实例化 containerVC。如何在加载时将数据传递给 containerVC?我已经看到了从孩子到父母的答案,但不是这样。提前感谢您的帮助。

import UIKit

class ParentVC: UIViewController {

    @IBOutlet var containerView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let childVC = storyboard!.instantiateViewController(withIdentifier: "ChildVC") as! ChildVC
        addChild(childVC)
        childVC.view.autoresizingMask = [.flexibleHeight, .flexibleWidth]
        childVC.view.frame = containerView.bounds
        containerView.addSubview(childVC.view)
        childVC.didMove(toParent: self)

        // pass values to child
        childVC.boolVariable = true // THIS DOESN'T WORK. HOW TO PASS DATA TO THE CHILD?
    }
 }

【问题讨论】:

  • boolVariable 是如何声明的?另外,由于我不经常使用IBOutlet 或 iB,这可以直接在代码中工作吗?似乎应该这样做。
  • var boolVariable = Bool()

标签: ios swift uiviewcontroller uicontainerview


【解决方案1】:

你可以像这样早点尝试

let childVC = storyboard!.instantiateViewController(withIdentifier: "ChildVC") as! ChildVC
childVC.boolVariable = true

【讨论】:

  • 啊!在实例化之后和 addChild 之前直接添加它。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 2017-01-10
  • 2018-05-06
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
  • 1970-01-01
相关资源
最近更新 更多