【发布时间】:2017-11-30 13:33:33
【问题描述】:
使用 ARKit 的非常简单的 Swift 代码。主要是让Xcode创建一个ARKit App并运行。我工作正常,显示 de Plane。
但是,当向 Storyboard 添加导航控制器并创建一个小菜单时,使用 Plane Demo 的条目并现在调用相同的 ARKit 示例,应用程序崩溃了。
switch menuItemIndex {
case 0:
let controller = AvionViewController()
self.navigationController?.pushViewController(controller, animated: true)
default:
print("something")
}
崩溃是:
2017-06-27 08:08:26.317187-0500 ARDemo[1868:432582] [DYMTLInitPlatform] 平台初始化成功致命错误: 在展开可选值时意外发现 nil 2017-06-27 08:08:29.546679-0500 ARDemo[1868:432449] 致命错误:意外 在展开可选值时发现 nil (lldb)
也就是说,当直接运行 ARKit 演示 ViewController 时,它可以工作,但是当从另一个视图控制器调用 ViewController 时,应用程序会崩溃。
另一方面,当不使用@IBOutlet 时,以编程方式创建 ARSCNView 并添加到视图中,应用程序运行良好。
在 Objective-C 中做同样的事情不会产生任何崩溃。奇怪吗?
有什么想法吗?
【问题讨论】:
-
该错误与此代码无关。看起来可能与 AcionViewContirller 的 init 方法有关。里面有什么?