2009/11/3 Jonathan del Strother <maill...@steelskies.com>: > 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 (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com