Чистый способ заставить представление загружать подпредставления рано

Недавно я написал некоторый код, где я пытался сослаться на выход наUIViewController Я только что создал[storyboard instantiateViewControllerWithIdentifier] и измените подпредставление, на которое указывал выход, перед представлениемViewController, Это не сработало, потому чтоViewControllerПредставление еще не загрузило свои подпредставления, включая то, на которое ссылалась моя торговая точка, поэтому свойство просто дало мне нулевой указатель.

После (с некоторым трудом) отслеживания причины моей проблемы в отладчике, я погуглил и узнал, с помощью ответов вродеэтот, что я могу заставить представление загружать свои подпредставления без отображения, вызываяmyViewController.view добытчик. После этого я могу получить доступ к своей розетке без каких-либо проблем.

Однако это явный взлом, и Xcode - совершенно справедливо - не любит его и сердито протестует с таким предупреждением:

Результат доступа к свойству не используется - геттеры не должны использоваться для побочных эффектов

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

Или стандартное решение просто заменитьmyViewController.view с участием[myViewController view] чтобы замолчать предупреждение XCode, а затем жить с взломом?

Ответы на вопрос(6)

Ваш ответ на вопрос