拍摄视图快照时出现致命错误:在展开可选值时意外发现 nil
Fatal error while taking snapshot of view: unexpectedly found nil while unwrapping an Optional value
当我拍摄当前视图的快照时,我的应用程序崩溃了,该视图是 UIViewController
显示由 UIPageViewController
生成的照片。
override func viewDidLoad() {
super.viewDidLoad()
Utils.getImageAsync(photo!.url!, completion: { (photoView) -> () in
//Create Basic View Components
self.view.addSubview(self.createHeaderView())
self.view.addSubview(self.createScrollView())
//Create Blurred View
self.blurredBgImage!.image = self.blurWithGPUImage(self.takeSnapshotOfView(self.view)) // fatal error: unexpectedly found nil while unwrapping an Optional value
})
}
为什么会这样?
通过使用“!”您正在强制展开一个 nil 可选。
您可以使用强制展开“!”如果您知道可选项没有 nil 值。如果您强制解包一个包含 nil 值的可选值,它将导致您遇到的崩溃。
那个?展开可以防止这种情况。基本上它会检查 "if X = nil"。如果是这样 ignore/do 什么都没有。防止崩溃。
我希望我的胡言乱语是有道理的。它在我脑海中确实存在:)
当我拍摄当前视图的快照时,我的应用程序崩溃了,该视图是 UIViewController
显示由 UIPageViewController
生成的照片。
override func viewDidLoad() {
super.viewDidLoad()
Utils.getImageAsync(photo!.url!, completion: { (photoView) -> () in
//Create Basic View Components
self.view.addSubview(self.createHeaderView())
self.view.addSubview(self.createScrollView())
//Create Blurred View
self.blurredBgImage!.image = self.blurWithGPUImage(self.takeSnapshotOfView(self.view)) // fatal error: unexpectedly found nil while unwrapping an Optional value
})
}
为什么会这样?
通过使用“!”您正在强制展开一个 nil 可选。
您可以使用强制展开“!”如果您知道可选项没有 nil 值。如果您强制解包一个包含 nil 值的可选值,它将导致您遇到的崩溃。
那个?展开可以防止这种情况。基本上它会检查 "if X = nil"。如果是这样 ignore/do 什么都没有。防止崩溃。
我希望我的胡言乱语是有道理的。它在我脑海中确实存在:)