2016-01-24 1 views
0

У меня есть проблема с разворачивания и не понимаю эту ошибку:фатальная ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение (lldb)

fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)`. 

Все, что я нашел помощь мне не вперед. В первом ViewController я этот код

var everypicture = [EveryPicture]() 

и я представляю делегат первого ViewController к SecondViewController:

var delegate: FirstViewController?` 

в Segue. Затем я получаю каждую фотографию от делегата и получаю подсчет:

let piccount = delegate?.everypicture.count 
print("\(piccount!)")` 

, но наступает ошибка. Что заставляет меня ошибаться и что означает ошибка? Спасибо за помощь

ответ

2

Так как я понимаю сообщение об ошибке говорит, что когда он пытался развернуть какое-то значение, он получил нулевой объект. Операция разворачивания - получение из необязательного значения реального. В коде, который вы публикуемую я могу видеть только один раз эту операцию

print("\(piccount!)") 

Так picccount переменная равна нулю, и с помощью оператора «!» вы попытались развернуть его, сказав: «Человек, который не ноль, обязательно», но это так.

Чтобы найти, где я проблема установить выполнение стоп-об этой линии

let pic count = delegate?.everypicture.count 

и проверить, если:

1) делегат ноль

2) массив равен нулю (он не должен но все же это не так сложно проверить)

Надеюсь, это помогло.

+0

Его массив не может быть 'nil' так, как он объявлен. Он либо пуст, либо имеет значение. Скорее всего, делегат - это нуль, и он просто пытается разобраться, не читая документацию или не сделав правильный учебник. – Eendje

+0

мой делегат был ноль, но я представляю делегата в segue FirstViewController 'override func prepareForSegue (segue: UIStoryboardSegue, отправитель: AnyObject?) { , если segue.identifier ==" EveryPhotoSegue "{ var vc = segue.destinationViewController as ! EverydayController vc.delegate = self}} 'EverydayController - мой SecondViewController. –

+0

Значит, теперь все нормально? – Volodymyr

0

Похоже, вы никогда не назначаете значение delegate. Вы просто определяете его тип как FirstViewController?. Вам нужно назначить экземпляр этого класса. piccount становится необязательным, потому что delegate сам был необязательным. Неверно-развернутая сила piccount неверна (потому что delegate был равен нулю); вместо этого используйте if let.

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

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