Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

initWithNibName VS viewDidLoad

I've been trying to understand for hours when I should use the viewDidload: and when I should use initWithNibName: to set up the properties of my viewController.

For instance, I'm using a TableViewController and I'm setting all its properties (such as the backgroundColor, the separateColor, the toolbar items) in initWithNibName. It is the right way to do ?

If somebody could enlighten me.

Thanks

like image 363
Titouan de Bailleul Avatar asked Jan 04 '12 23:01

Titouan de Bailleul


1 Answers

You should set up your properties in the viewDidLoad. This method is called by the system when the controller's view is loaded into memory. The initWithNibName: is something that you call when you create a controller instance from a nib file.

That is to say, that if you set up your properties in the initWithNibName: and instead you call init, your controller might not be in a good state; thus, it's best to do in viewDidLoad.

like image 121
Jeremy Avatar answered Oct 05 '22 23:10

Jeremy