Size: a a a

iOS Developers — русскоговорящее сообщество

2019 December 14

Z

ZZINX in iOS Developers — русскоговорящее сообщество
Denis Kim
аутлет загружен после viewDidLoad. попробуй сначал vc.view вызвать
вот не совсем понял это момент
источник

Z

ZZINX in iOS Developers — русскоговорящее сообщество
Вообще второй контроллер у меня вот так выглядет. Там просто оутлеты проведены
источник

Z

ZZINX in iOS Developers — русскоговорящее сообщество
контоллер из одних лэйблов состоит
источник

Z

ZZINX in iOS Developers — русскоговорящее сообщество
Denis Kim
я не вижу у тебя в коде что дергает загрузку вьюхи
self.navigationController?.pushViewController(vc, animated: true)  там же есть
источник

Z

ZZINX in iOS Developers — русскоговорящее сообщество
на вьюху спокойно переходит если закоментить тот код
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ты понимаешь что до вызова функции viewDidLoad никакие аутлеты еще не имеют реальных значений? они еще не загружены, как и сама view
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
проверь значение vc.isViewLoaded
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ZZINX
self.navigationController?.pushViewController(vc, animated: true)  там же есть
этот код вызывается после ошибочного. если поменяешь их местами то все конечно будет работать
источник

Z

ZZINX in iOS Developers — русскоговорящее сообщество
Denis Kim
ты понимаешь что до вызова функции viewDidLoad никакие аутлеты еще не имеют реальных значений? они еще не загружены, как и сама view
не понимаю) смотрю в других местах у себя, у меня не везде где есть лэйблы, в которых грузится инфа, есть viewdodload
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
причем тут есть или не есть
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
вопрос в том, вызывался он или нет
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
смотри, сначала у тебя есть экзепляр класса вью контроллера. но в нем все аутлеты имею значение nil
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
именно поэтому они optional, потому что их фактически загрузят когда декодируют описание из файла интерфейса
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
чтобы этот самый интерфейс загрузить, можешь например перед присваиванием текста вставить _ = vc.view
источник

Z

ZZINX in iOS Developers — русскоговорящее сообщество
так. за nil и optional  я понял. но не совсем понял за vc.view
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ну это принудительно загрузит тебе вьюшку. ну и следовательно все аутлеты
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
вообще наверно лучше действительно вызывать vc.loadViewIfNeeded()
источник

Z

ZZINX in iOS Developers — русскоговорящее сообщество
Denis Kim
вообще наверно лучше действительно вызывать vc.loadViewIfNeeded()
ты гений)
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
более правильный вариант. и сейфовее с точки зрения повторений и явнее, чем геттер view, следовательно при переходе на очередную версию иос имеет меньше шансов сломаться
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
просто я такие ошибки уже ловил
источник