我有一个应用程序,我刚刚在一个单独的项目中创建了一个新的、工作的 viewController。
我将代码和 xibs(几个子视图)复制/粘贴到新项目中。一切编译都很好。
相关代码:
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
//let nextViewController = storyBoard.instantiateViewController(withIdentifier: "NewManualGlyphVC") as! NewManualPickGlyphViewController //old Selector
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "GlyphSelectVC") as! GlyphSelectViewController //new Selector
self.navigationController?.pushViewController(nextViewController, animated: true)
注释掉的行是旧的、正在工作的 VC 的向量。新代码在推送内崩溃。新的 nextViewController 很好,Xcode 快速视图显示了预期的视图,navController 也很好。报告的错误是:
myApp[42661:963870] -[NSNull set]: unrecognized selector sent to instance 0x7ff86599bc30
环境是 Xcode 14.3.1 编译到 iOS 13,目标设备 iOS 16。 有什么想法吗?
在这种情况下,根据我的经验,请检查您推送的文件视图controller.swift和视图controller.xib,确保每个变量@IBOutlet在.xib文件和.swift文件之间都有引用到达器,或者您在xcode中检查它的哪一行错误并修复查找问题遵循 xcode 中的行
也许你应该检查一下所提供的VC的插座