我正在尝试使用UIImagepickerController从照片中挑选图像。 我在我的gameScene类中使用下面的函数 (这是用于将图像导入游戏中)
但是我收到错误“线程1:致命错误:在展开Optional值时意外发现nil” 在这一行
self.view!.window!.rootViewController!
功能如下。我不知道如何修复它并且没有太多运气就找到了答案,所以任何帮助都会很棒。
func getPhotoFromSource(source:UIImagePickerControllerSourceType ){
if UIImagePickerController.isSourceTypeAvailable(source)
{
let imagePicker = UIImagePickerController()
imagePicker.modalPresentationStyle = .currentContext
imagePicker.delegate = self
imagePicker.sourceType = source
imagePicker.allowsEditing = false
if (source == .camera){
imagePicker.cameraDevice = .front
}
let vc:UIViewController = self.view!.window!.rootViewController! //Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
vc.present(imagePicker, animated: true, completion: nil)
} }
答案 0 :(得分:1)
而不是
let vc:UIViewController = self.view!.window!.rootViewController!
,使用可选链接并尝试
guard let vc = self.view?.window?.rootViewController else {
print("something went wrong")
}
当您尝试强行打开包装时,看看它的视图或窗口或rootViewController
是不存在的,如果您运行代码上方的代码,则只运行打印上面的陈述。
您可以分享设置viewController
的代码吗?