Re: Overriding -[UIViewController loadView], and loading from a nib
Re: Overriding -[UIViewController loadView], and loading from a nib
- Subject: Re: Overriding -[UIViewController loadView], and loading from a nib
- From: Jonathan del Strother <email@hidden>
- Date: Tue, 3 Nov 2009 13:27:09 +0000
2009/11/3 Jonathan del Strother <email@hidden>:
> Heya,
>
> I'd like to get hold of the top level objects returned by -[NSBundle
> loadNibNamed:owner:options:] when UIViewController loads my view.
> Sadly UIViewController doesn't seem to provide any way of accessing
> these, so I thought I might be able to just load the nib myself :
>
> -(void)loadView {
> NSArray* topLevelObjects = [self.nibBundle loadNibNamed:self.nibName
> owner:self options:nil];
> // do stuff with topLevelObjects...
> }
>
> which appeared to work pretty well, until I tried using it in a
> UITableViewController subclass that's pushed onto a navigation
> controller, where the view just turns out blank. Stepping into
> -[UIViewController loadView] in gdb suggests that it's doing a whole
> lot more than just -loadNibNamed:
>
> I could call [super loadView], but that means I end up loading the nib
> twice, and re-assigning all the IBOutlets twice, which is pretty ugly.
> Any alternative suggestions?
>
Just as a follow up - it finally twigged that my tableview delegate &
datasource weren't hooked up in the nib. Looks like
-[UITableViewController loadView] automatically sets them if they're
weren't already. Connecting those up has fixed my blank view issue.
Even so, I wonder what else I'm missing by not calling [super
loadView]. Seems a pretty fragile approach...
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden