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
我在做错什么吗?
我不知道该如何解决
答案 0 :(得分:1)
由于尚未创建控制器视图,因此无法访问topConstaints
中的prepare(for segue:)
。
要么在CGFloat
中创建一个MyTableController
变量,然后在topConstaints
中更改您的viewDidLoad
,要么在let _ = distinationVC.view
之后立即调用let distinationVC = ..
来触发distinationVC的{ {1}}。