I want to make sure that all my initializations for my views and stuff are handled every time my application starts, even when it is called back after being sent to the background, such as with multitasking.
What’s the best way to do this? should i use applicationDidBecomeActive to call viewDidLoad on my viewcontroller directly? I’m guessing this is not wise. I just want to make sure that stuff gets done on load every time the user calls up the app, no matter what state it is in at the time.
I have several apps published that do just that – call
viewDidLoadon one or several UIViewControllers fromapplicationDidBecomeActive.It works just fine. Apple doesn’t object to it either.
However, be aware that if you have allocations in your viewDidLoad you need to either check for already allocated instances or release the instances you allocate in
viewDidLoadwhen your app suspends. The same goes for DB connections that need to be closed, notification listeners, and so on.As long as you watch for these elements and handle them correctly, the approach is valid and very usable.