मैंने UIViewController को एक नई कक्षा में उपclassed किया है, PageViewController (मैं एक साधारण पुस्तक ऐप लिख रहा हूं)। मैं एक निब फ़ाइल से लोड किया गया एक नया दृश्य जोड़ना चाहता हूं और निम्न कोड का उपयोग कर रहा हूं। यह काम करता हैं।क्यों initWithNibName मेरे UIViewController subclass के लिए काम नहीं करता है?
PageViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];
हालांकि, पहली पंक्ति गलत है क्योंकि मैं PageViewController पर alloc बुला जाना चाहिए। जब मैं इसे (नीचे) सही करता हूं, कोड संकलित करता है लेकिन xib फ़ाइल लोड नहीं होती है और दृश्य केवल पारदर्शी है।
PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];
PageViewController initWithNibName विधि uncommented किया गया है और बस डिफ़ॉल्ट, आत्म = की स्थापना [सुपर initWithNibName: nibNameOrNil बंडल: nibBundleOrNil]।
मैं क्या कोशिश की है: पृष्ठ 1 निब फ़ाइल में, मैं PageViewController और UIViewController के बीच फ़ाइल मालिक वर्ग को बदलने की कोशिश की है। हां, मुझे बाद में इसे आउटलेट आउटलेट से कनेक्ट करने के लिए याद आया।
सहायता, कृपया! मैं फंस गया हूँ
हो सकता है त्रुटि अपने overrided initWithNibName विधि में है – oxigen
यह सिर्फ डिफ़ॉल्ट है: - (आईडी) initWithNibName: (NSString *) nibNameOrNil बंडल: (NSBundle *) nibBundleOrNil { अगर (स्वयं = [सुपर initWithNibName: nibNameOrNil बंडल : nibBundleOrNil]) { // कस्टम प्रारंभिकरण \t \t एनएसएलओजी (@ "पृष्ठदृश्य नियंत्रक कस्टम init"); } स्वयं लौटें; } – niels