无而展开的可选值错误
fatal error: unexpectedly found nil while unwrapping an Optional value无而展开的可选值错误
有了下面的代码:
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原来是零。
回答:
在self.previewBlurView
分配删除?
:
self.previewBlurView = UIVisualEffectView(effect: blurEffect)
会发生什么事,否则就是当self.previewBlurView
实际上是不nil
在它是不是因为你是在过程开始时的分配仅发生分配一些东西给它。
比较如下:
var a : Int? = 12 a? = 13
print(a)
var b : Int?
b? = 13
print(b)
它打印
Optional(13)
nil
分配b? = 13
只有b
不是nil
它不幸的是,发生。
以上是 无而展开的可选值错误 的全部内容, 来源链接: utcz.com/qa/259013.html