【问题标题】:How to Change Variable in embed TableVeiw in ContainerView? Swift如何在容器视图中更改嵌入表视图中的变量?迅速
【发布时间】:2018-07-25 08:34:09
【问题描述】:
class MyView:UIViewController{


         override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            print(segue.destination)
            let distinationVC = segue.destination as? MyTableController
            distinationVC?.topConstaints.constant = 0


         }
}
class MyTableController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    @IBOutlet weak var topConstaints: NSLayoutConstraint!

}

返回

 print(segue.destination)

<myApp. MyTableController:0 x>

但在

中引发异常
distinationVC?.topConstaints.constant = 0

Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

是不是我做错了什么?

我不知道如何解决这个问题

【问题讨论】:

  • 检查topConstaints插座是否正确连接
  • 您的 topConstaints 属性为零。在 MyTableController 的 viewDidLoad 方法中设置这个属性。

标签: ios swift uicontainerview


【解决方案1】:

prepare(for segue:) 中访问topConstaints 将不起作用,因为尚未创建控制器视图。

要么在MyTableController 中创建一个CGFloat 变量,然后在viewDidLoad 中更改您的topConstaints,要么在let distinationVC = .. 之后立即调用let _ = distinationVC.view 以触发distinationVC 的loadView

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多