【发布时间】:2020-04-28 23:28:13
【问题描述】:
我有两个视图控制器。父视图控制器有一个视图容器,我试图在其中显示子视图控制器。这是我的代码:
父视图控制器:
class ParentViewController: UIViewController {
@IBOutlet weak var viewContainer: UIView! //View Container inside Parent View Controller
override func viewDidLoad() {
super.viewDidLoad()
let sb = UIStoryboard(name: "Main", bundle: nil)
let childVc = sb.instantiateViewController(withIdentifier: "ChildViewControllerStoryId") as! ChildViewController
addChild(childVc)
childVc.view.translatesAutoresizingMaskIntoConstraints = false
viewContainer.addSubview(childVc.view)
childVc.didMove(toParent: self)
}
}
子视图控制器:
class ChildViewController: UIViewController {
@IBOutlet weak var textLabel: UILabel!
override func viewDidLoad(){
super.viewDidLoad()
textLabel.text = "random text"
}
}
我在“viewContainer.addSubview(childVc.view)”处收到此错误:
致命错误:在隐式展开时意外发现 nil 可选值:文件/../../.swift
我认为它告诉我子视图控制器的视图为零。这里似乎有什么问题?
谢谢!
【问题讨论】:
-
嗯,这很尴尬。我猜我的 xcode 出了问题或其他什么,但我尝试删除容器视图并再次添加它并创建一个新的插座,它成功了!我不知道发生了什么