无而展开的可选值错误

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

回到顶部