致命错误:在展开可选值时意外发现 nil
使用以下代码:
weak var previewBlurView : UIVisualEffectView?
func blurPreviewWindow() {
if (self.previewBlurView == nil) {
var blurEffect: UIVisualEffect
blurEffect = UIBlurEffect.init(style: UIBlurEffectStyle.Dark)
self.previewBlurView? = UIVisualEffectView(effect: blurEffect)
self.previewView.addSubview(self.previewBlurView?)
self.previewBlurView!.frame = self.previewView.bounds
}
self.previewBlurView?.alpha = 0.0
UIView.animateWithDuration(0.2, delay: 0.0, options: [.BeginFromCurrentState, .CurveEaseOut], animations: {() -> Void in
self.previewBlurView?.alpha = 1.0
}, completion: { _ in })
}
我得到了在线崩溃:
self.previewView.addSubview(self.previewBlurView?)
笔记
事实证明,由于视图控制器实例的外部问题没有引用正确的实例,所有视图都为零。所以在这种情况下,self.previewBlurView 结果是 nil。