迁移到Swift 3后,应用程序崩溃
-[_SwiftValue unsignedIntegerValue]: unrecognized selector sent to instance 0x60800064d5f0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_SwiftValue unsignedIntegerValue]: unrecognized selector sent to instance 0x60800064d5f0'
尝试访问vc.view
时。这是相关的代码段。代码是从UIViewController
。
guard let vc = storyboard?.instantiateViewController(withIdentifier: "some-viewcontroller-id") else {
return
}
if let vc = vc as? SomeViewController {
let theView: UIView = vc.view
theView.translatesAutoresizingMaskIntoConstraints = false
}
如果我在调试窗口中调用let theView: UIView = vc.view
和po vc.view
之前停止断点,则在调试窗口中出现相同的错误。
-[_SwiftValue unsignedIntegerValue]: unrecognized selector sent to instance
但是,如果我再次po vc.view
,我会...... voilà ......
Optional<UIView>
并且可以恢复执行。我正在使用Xcode 8.1。在iOS设备和模拟器上重现。
有什么建议吗?
答案 0 :(得分:0)
我认为这不是npm install jest-cli --save-dev
npm install
所致。您的错误表明它是var text = new Text('Oh, how quick that fox was!');
。如果你的一个选择器方法是私有的,把@objc放在它前面。我当然可以说这不是Nil值错误。
答案 1 :(得分:0)
问题已解决
长话短说,它根本与UIViewController.view
无关!它与String.Encoding.utf8.rawValue
描述的Mongoose
问题有关。
由于某些原因,模拟器上的崩溃没有提供太多信息,除了我已经粘贴到问题中。在设备上,它产生了一个非常详细的报告,帮助我找到了这次崩溃的根本原因。
答案 2 :(得分:0)
将视图的storyboard-id设为“some-viewcontroller-id” 它会工作正常