致命错误:在展开可选值时意外发现 nil (EXC_BAD_INSTRUCTION)
Posted
技术标签:
【中文标题】致命错误:在展开可选值时意外发现 nil (EXC_BAD_INSTRUCTION)【英文标题】:fatal error: unexpectedly found nil while unwrapping an Optional value (EXC_BAD_INSTRUCTION) 【发布时间】:2015-04-10 12:17:05 【问题描述】:我发现了许多类似的问题,但没有一个有帮助。当我展示一个名为 TestVCViewController
的视图控制器并使用此处声明的 IBOutlet
UILabel
执行某些操作时,我会收到此错误。
我检查了IBOutlet
连接,它已连接。
如果我只是简单地展示 VC(即 IBOutlet
已声明并连接但未使用),则没有错误,但是,视图尚未加载,因为它显示为黑色,而实际上它具有白色背景.
我检查了这个答案 https://***.com/a/27219058/2500457 并为所有尺寸类别提供了 UILabel
自动布局约束,但它没有帮助。
FirstVC.swift:
var nextVC:TestVCViewController
required init(coder aDecoder: NSCoder)
nextVC = TestVCViewController()
super.init(coder: aDecoder)
按钮操作:
self.nextVC = TestVCViewController()
self.presentViewController(self.nextVC, animated: true, completion: nil)
TestVCViewController.swift:
class TestVCViewController: UIViewController
@IBOutlet var screwManLABEL: UILabel!
override func viewDidLoad()
super.viewDidLoad()
screwManLABEL.text = "heyyyy"
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
我在screwManLABEL.text = "heyyyy"
收到异常,调试器显示
致命错误:意外发现 nil....
【问题讨论】:
你在使用storyboard/xib吗?如果是这样,您必须从 xib/storyboard 文件中初始化TestVCViewController
还是使用 segue 进行演示?
是的,我正在使用情节提要。我没有使用segues。我在上面写的按钮操作中使用了presentviewcontroller方法。
【参考方案1】:
改变你初始化TestVCViewController
的方式
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("your_VC_ID") as! TestVCViewController
self.presentViewController(vc, animated: true, completion: nil)
【讨论】:
以上是关于致命错误:在展开可选值时意外发现 nil (EXC_BAD_INSTRUCTION)的主要内容,如果未能解决你的问题,请参考以下文章