Intro
Я пытаюсь отладить свою программу, и у меня возникла проблема. Я получаю быструю ошибку: Unexpectedly found nil while unwrapping an optional value.
Эта проблема связана с неявным образом развернутым необязательным. Ошибка находится в ViewControllerB init?(aDecoder:)
, а место, где я устанавливаю значение, находится в prepareForSegue(_:sender:)
ViewControllerA, который использует «show segue» для перехода на ViewControllerB.Является init? (ADecoder :) или prepareForSegue (_: sender :) называется первым?
Проблема
Это приводит меня к считаю, что метод init?(aDecoder:)
в ViewControllerB вызывается перед prepareForSegue(_:sender:)
в ViewControllerA. Я прав?
Чтобы развернуть: «прежде чем он может быть использован в другом месте» ... поскольку объект доступен через 'segue.destinationViewController', объект, вероятно, уже инициализирован –
Хотя я смущаюсь согласиться с« всегда », так как объект может быть технически инициализирован лениво –
Объект определенно будет инициализирован. Вы думаете о ленивых свойствах? Это не инициализация самого объекта. Сам объект * * должен быть инициализирован до того, как он будет доступен для 'prepareForSegue()'. – Jim