I’m trying to do something a bit elaborate, but something that should be possible. So here is a challenge for all you experts out there (this forum is a pack of a lot of you guys 🙂 ).
I’m creating a Questionnaire “component”, which I want to load on a NavigationContoller
(my QuestionManagerViewController
). The “component” is an “empty” UIViewController
, which can load different views depending on the question that needs to be answered.
The way I’m doing it is:
- Create Question1View object as a
UIView
subclass, defining someIBOutlets
. - Create (using Interface Builder) the
Question1View.xib
(HERE IS WHERE MY PROBLEM PROBABLY IS). I set both theUIViewController
and theUIView
to be of class Question1View. - I link the outlets with the view’s component (using IB).
-
I override the
initWithNib
of myQuestionManagerViewController
to look like this:- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:@"Question1View" bundle:nibBundleOrNil]) { // Custom initialization } return self; }
When I run the code, I’m getting this error:
2009-05-14 15:05:37.152 iMobiDines[17148:20b] *** Terminating app due to uncaught exception ‘
NSInternalInconsistencyException
‘, reason: ‘-[UIViewController _loadViewFromNibNamed:bundle:]
loaded the “Question1View” nib but the view outlet was not set.’
I’m sure there is a way to load the view using the nib file, without needing to create a viewController class.