Saya mencoba melakukan sesuatu yang sedikit rumit, tetapi sesuatu yang seharusnya mungkin. Jadi di sini adalah tantangan untuk semua ahli di luar sana (forum ini adalah paket dari kalian semua :)).
Saya sedang membuat "komponen" Kuisioner, yang ingin saya muat di NavigationContoller
(saya QuestionManagerViewController
). "Komponen" adalah "kosong" UIViewController
, yang dapat memuat pandangan yang berbeda tergantung pada pertanyaan yang perlu dijawab.
Cara saya melakukannya adalah:
- Buat objek Question1View sebagai
UIView
subclass, tentukan beberapaIBOutlets
. - Buat (menggunakan Interface Builder) the
Question1View.xib
(DI SINI ADALAH MASALAH SAYA MASALAH ADALAH ). Saya mengatur keduaUIViewController
danUIView
menjadi dari Question1View kelas. - Saya menautkan outlet dengan komponen view (menggunakan IB).
Saya menimpa
initWithNib
sayaQuestionManagerViewController
untuk terlihat seperti ini:- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:@"Question1View" bundle:nibBundleOrNil]) { // Custom initialization } return self; }
Ketika saya menjalankan kode, saya mendapatkan kesalahan ini:
2009-05-14 15: 05: 37.152 iMobiDines [17148: 20b] *** Mengakhiri aplikasi karena pengecualian yang tidak tertangkap '
NSInternalInconsistencyException
', alasan: '-[UIViewController _loadViewFromNibNamed:bundle:]
memuat nib "Question1View" tetapi tampilan outlet tidak disetel.'
Saya yakin ada cara untuk memuat tampilan menggunakan file nib, tanpa perlu membuat kelas viewController.