In my iOS app, I have a UITabBarController
, and its viewControllers
list looks like [vc1, vc2]
, which are of class MyVC1
and MyVC2
respectively, both of which subclass UIViewController
. MyVC1
overrides viewWillAppear
, and the overwritten version prints something so I know when it is called. (This is to isolate a larger problem I had, which was a view not appearing.)
My issue is that when the app first starts up and vc1
is the selected tab, nothing is printed, meaning its viewWillAppear
is not being called. If I switch tabs and then go back to vc1
, something does get printed, so vc1
's viewWillAppear
is not being called until I switch back to it from another tab.
Is there any way to have vc1
call viewWillAppear
as soon as the app starts up, without needing to switch tabs? Honestly, I'm surprised this wasn't the default behavior already.