Czysty sposób zmuszenia widoku do wczytania subskrypcji wcześnie

Niedawno napisałem kod, w którym próbowałem odwołać się do gniazdka na aUIViewController Właśnie stworzyłem instancję[storyboard instantiateViewControllerWithIdentifier] i zmodyfikuj widok podrzędny, na który wskazywało gniazdo przed prezentacjąViewController. To nie zadziałało, ponieważViewControllerwidok nie załadował jeszcze swoich widoków, łącznie z tym, do którego odnosiło się moje gniazdko, więc właściwość właśnie dała mi wskaźnik zerowy.

Po (z pewną trudnością) wyśledzeniu przyczyny mojego problemu w debuggerze, przeszedłem dookoła i nauczyłem się dzięki odpowiedziom takim jakten, że mogę spowodować, że widok załaduje swoje widoki podrzędne bez wyświetlania przez wywołaniemyViewController.view rębacz. Po tym mogę bez problemu uzyskać dostęp do mojego gniazdka.

Jest to jednak wyraźny hack, a Xcode - całkiem słusznie - nie lubi tego i ze złością protestuje tym ostrzeżeniem:

Nieużywany wynik dostępu do nieruchomości - gettery nie powinny być używane do efektów ubocznych

Czy istnieje inny, niż hacky, alternatywny sposób na zrobienie tego, który nie wiąże się z nadużywaniem.view rębacz? Alternatywnie, czy istnieją kanoniczne / idiomatyczne wzorce dla tego scenariusza obejmujące coś takiego jak dynamiczne dodawanie modułu obsługi, który ma zostać wywołany natychmiast po załadowaniu podglądów?

Lub jest standardowym rozwiązaniem tylko do wymianymyViewController.view z[myViewController view] zamknąć ostrzeżenie Xcode'a, a potem żyć z hackiem?

questionAnswers(6)

yourAnswerToTheQuestion