Lorenzo Boaro Lorenzo Boaro - 6 months ago 85
iOS Question

Looking to understand the iOS UIViewController lifecycle

Could you explain me the correct manner to manage the

UIViewController
lifecycle?

In particular, I would like to know how to use
Initialize
,
ViewDidLoad
,
ViewWillAppear
,
ViewDidAppear
,
ViewWillDisappear
,
ViewDidDisappear
,
ViewDidUnload
and
Dispose
methods in Monotouch for a
UIViewController
class.

Answer

All these commands are called automatically at the appropriate times by iOS when you load/present/hide the view controller. It's important to note that these methods are attached to UIViewController and not to UIViews themselves. You won't get any of these features just using a UIView.

There's great documentation on Apple's site here. Putting in simply though:

  • ViewDidLoad - Called when you create the class and load from xib. Great for initial setup and one-time-only work.

  • ViewWillAppear - Called right before your view appears, good for hiding/showing fields or any operations that you want to happen every time before the view is visible. Because you might be going back and forth between views, this will be called every time your view is about to appear on the screen.

  • ViewDidAppear - Called after the view appears - great place to start an animations or the loading of external data from an API.

  • ViewWill/DidDisappear - Same idea as WillAppear.

  • ViewDidUnload/ViewDidDispose - In Objective C, this is where you do your clean-up and release of stuff, but this is handled automatically so not much you really need to do here.

Comments