When I call:
self.viewController = [[DidItViewController alloc] initWithNibName:@"DidItViewController" bundle:nil];
and then I check self.viewController.navController right after this line is executed in the debugger, I find that it's empty (0x0).
On DidItViewController I have my navController defined as:
IBOutlet NavigationController *navController;
and in my nib file I have the NavigationController bound to this navController property on the File Owner (a DidItViewController).
Why doesn't my navController get created? Any ideas? I think I may be missing something about the way initWithNibName works..
Thanks.
Best Answer
Or you can use
[NSBundle loadNibNamed:owner:options:]
method instead of. This method ensures all outlet connections connected. (which[UIViewController initWithNibName: bundle:]
doesn't)Sample code
In this case, File's Owner in the NIB is an external instance of PhotoShow class.
Selection from reference document
You can use this method to load user interfaces and make the objects available to your code. During the loading process, this method unarchives each object, initializes it, sets its properties to their configured values, and reestablishes any connections to other objects. (To establish outlet connections, this method uses the setValue:forKey: method, which may cause the object in the outlet to be retained automatically.) For detailed information about the nib-loading process, see Resource Programming Guide.