【发布时间】:2019-09-28 21:42:38
【问题描述】:
我需要从第一个控制器实例化第二个控制器。 如图所示,初始化在按钮中开始。
代码和视图以编程方式添加。 加载从一个按钮开始
在故事板文件中,视图未连接
第一个控制器,调用者
let vc = storyboard?.instantiateViewController(withIdentifier: "vcID") as? SecondController
self.navigationController?.pushViewController(vc!, animated: true)
第二个控制器,被调用
override func viewDidLoad() {
super.viewDidLoad()
// Barra di navigazione
self.navigationController?.isNavigationBarHidden = false
self.navigationItem.largeTitleDisplayMode = .never
self.navigationItem.title = "Title here"
let attrs = [
NSAttributedString.Key.foregroundColor: UIColor.blue,
NSAttributedString.Key.font: UIFont(name: "Nunito-Bold", size: 24)!
]
self.navigationController?.navigationBar.titleTextAttributes = attrs
self.navigationController?.navigationBar.largeTitleTextAttributes = attrs
}
调用初始视图控制器的代码崩溃,在导航之前的几个控制器。 看起来控制器失去了对调用者的引用。 关于如何验证控制器引用的任何想法?
初始视图中显示的错误代码是
Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
起源于第二个Controller
【问题讨论】:
-
错误信息是什么?
-
刚刚添加了错误码
-
添加异常断点。很可能您根本没有连接@IBOutlet
-
@Paulw11IBOutlet 已连接(通过重新连接仔细检查)
-
@matt 标题是“viewDidLoad 中 super 的错误引用”,因为 8' 视图尝试在 super.viewDidLoad 中无任何理由地加载第一个
标签: ios swift xcode uiviewcontroller