Mam tabelę menu w widoku głównym storyboardu, który chcę ponownie załadować, gdy widok podrzędny aktualizuje dane. Jak uzyskać odwołanie do widoku głównego, aby można było wywołać na nim metodę reloaddata?jak zdobyć rootviewcontroller ios storyboard
7
A
Odpowiedz
17
Można do niego dostęp za pomocą poniższego kodu jeśli rootViewController
jest UIViewController
UIViewController *rootController=(UIViewController *)((AppDelegate *)[[UIApplication sharedApplication] delegate]).window.rootViewController;
Ale jeśli jest to UINavigationController
można użyć poniższy kod.
UINavigationController *nav=(UINavigationController *)((AppDelegate *)[[UIApplication sharedApplication] delegate]).window.rootViewController;
UIViewController *rootController=(UIViewController *)[nav.viewControllers objectAtIndex:0];
1
Swift:
let rootVC = self.window?.rootViewController
0
Z konsoli:
po [[[UIApplication sharedApplication] keyWindow] rootViewController] <UINavigationController: 0x15f076c00>
Co jest 'self' w tym kontekście? – sasquatch
let rootVC = UIApplication.sharedApplication(). KeyWindow? .rootViewController –
Przepraszam było po prostu AppDelegate. – ingconti