ios - UIViewController - alloc and init vs. instantiate? -


what difference between following 2 ways of instantiating view controllers?

myviewcontroller *vc = [[myviewcontroller alloc] init]; // present vc... 

vs.

[[uistoryboard storyboardwithname:@"main" bundle:nil] instantiateviewcontrollerwithidentifier:@"myviewcontrollerscene"] 

it seems alloc init can magically identify proper scene in storyboard; how happen? invoking instantiateviewcontrollerwithidentifier: under hood? preferred way of instantiating view controller? first way result in memory leak or extraneous view controller instances?

[[myobject alloc] init] creates new object. it's not retrieving object storyboard, allocating memory , instantiating it.

instantiateviewcontrollerwithidentifier: creates new view controller (if identifier exists in storyboard) , configures according how view controller configured object in storyboard file.

both cases create new instance each call.


if have configured view controller in storyboard (for example connected outlets, actions, etc.) , want retrieve it, should read storyboard. if create new instance (not storyboard) not have configuration.


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -