2015-07-07 5 views
2

Мое приложение падает, когда я делаю снимок текущего вида, который является 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 
    }) 

} 

Почему это может быть причиной?

+0

'self.blurredBgImage' не может быть распакован, потому что это nil – 0x141E

+0

Но даже если я добавлю изображение вручную, как этот' self.blurredBgImage! .image = UIImage (named: "profile-bg") ! 'Я все еще получаю ту же ошибку –

+0

Вы правы, я должен был поставить? вместо!, теперь он работает, спасибо :) –

ответ

2

Использование "!" вы являетесь силой, развертывающей нуль необязательно.

Вы можете использовать развертку силы "!" если вы знаете, что опция не имеет значения nil. Если вы принудительно развернете опцию, которая содержит значение nil, это приведет к сбою, который вы испытываете.

A? разворачивание предотвращает это. В основном он проверяет «если X = nil». Если так игнорировать/ничего не делать. Предотвращение сбоя.

Надеюсь, моя смехотворность имеет смысл. Это в моей голове :)

Смежные вопросы

 Смежные вопросы