ฉันพยายามทำบางสิ่งบางอย่างอย่างละเอียด แต่สิ่งที่ควรทำ ดังนั้นนี่คือความท้าทายสำหรับผู้เชี่ยวชาญทั้งหมดที่คุณมี (ฟอรัมนี้เป็นกลุ่มของพวกคุณจำนวนมาก :))
ฉันกำลังสร้าง "ส่วนประกอบ" ของแบบสอบถามซึ่งฉันต้องการโหลดNavigationContoller
(ของฉันQuestionManagerViewController
) "ส่วนประกอบ" คือ "ว่าง" UIViewController
ซึ่งสามารถโหลดมุมมองที่แตกต่างกันขึ้นอยู่กับคำถามที่ต้องตอบ
วิธีที่ฉันทำคือ:
- สร้างวัตถุ Question1View เป็น
UIView
คลาสย่อยโดยกำหนดบางIBOutlets
รายการ - สร้าง (โดยใช้ตัวสร้างส่วนต่อประสาน)
Question1View.xib
(ที่นี่คือปัญหาของฉันที่เป็นปัญหา ) ฉันตั้งค่าทั้งสองUIViewController
และUIView
เป็นของคลาส Question1View - ฉันเชื่อมโยงร้านค้ากับองค์ประกอบของมุมมอง (โดยใช้ IB)
ฉันแทนที่
initWithNib
ของฉันQuestionManagerViewController
จะมีลักษณะเช่นนี้:- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:@"Question1View" bundle:nibBundleOrNil]) { // Custom initialization } return self; }
เมื่อฉันเรียกใช้รหัสฉันได้รับข้อผิดพลาดนี้:
2009-05-14 15: 05: 37.152 iMobiDines [17148: 20b] *** การสิ้นสุดแอปเนื่องจากข้อยกเว้นที่ไม่ได้ตรวจสอบ '
NSInternalInconsistencyException
' เหตุผล: '-[UIViewController _loadViewFromNibNamed:bundle:]
โหลด "คำถาม 1View" ปลายปากกา แต่ไม่มีการตั้งค่ามุมมอง'
ฉันแน่ใจว่ามีวิธีการโหลดมุมมองโดยใช้ไฟล์ปลายปากกาโดยไม่จำเป็นต้องสร้างคลาส viewController