我面临着非常奇怪的错误unexpectedly found nil while unwrapping an optional value navigationcontroller
。
我有两个视图控制器,其主要功能是扫描条形码并在PreBarCodeViewController上的textField中设置值。第二个视图控制器是扫描的条形码视图控制器。根据透视,用户可以手动输入值或扫描以获取条形码。当我去手动输入导航控制器工作正常时。但是一旦我单击扫描并在textField
中获取值并按确定按钮,它将无法导航。即使我单击十字按钮,它也给我零错误。
更新:包含条形码视图控制器在点击按钮时打开。
前条形码视图控制器:两个按钮返回和接受
@IBAction func toBarcode(_ sender: Any) {
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "BarcodeViewController") as! BarcodeViewController
present(newViewController, animated: true, completion: nil)
}
@IBAction func onClickedBackArrow(_ sender: Any) {
self.navigationController!.popViewController(animated: true)
}
@IBAction func onClickedAccept(_ sender: Any) {
let value = textField.text ?? String(describing: txtValue)
bardelegate?.listFunc(listValue: value )
self.navigationController?.popViewController(animated: true)
}
条形码视图控制器:当我得到价值发布到背面时。
if url == decodedURL {
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "PreBarcodeViewController") as! PreBarcodeViewController
let str2 = String(url)
newViewController.txtValue = str2
present(newViewController, animated: true, completion: nil)
}
当您使用视图控制器打开present()
然后使用dismiss()
返回上一个屏幕的方法。
popViewController()
仅在使用导航控制器导航时使用,请检查这一点。