आप UIViewController
स्विफ्ट में उपवर्गों में कस्टम इनिशियलाइज़र कैसे जोड़ते हैं ?
मैंने एक उप-वर्ग बनाया है UIViewController
जो कुछ इस तरह दिखता है:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
जब मैं इसे चलाता हूं तो मुझे एक घातक त्रुटि मिलती है:
घातक त्रुटि: कक्षा 'MyApp.MyViewController' के लिए अनइम्प्लीमेंटेड इनिशियलाइज़र 'इनिट (nibName: बंडल :)' का उपयोग
मैंने पढ़ा है कि जब एक कस्टम इनिशियलाइज़र को जोड़ने पर भी ओवरराइड करना होता है init(coder aDecoder:NSCoder)
तो चलो इसे ओवरराइड करते हैं init
और देखते हैं कि क्या होता है:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
अगर मैं इसे जोड़ता हूं, तो Xcode शिकायत करता है कि self.leftVC is not initialized at super.init call
। इसलिए मुझे लगता है कि समाधान भी नहीं हो सकता है। इसलिए मुझे आश्चर्य है कि मैं ViewController
स्विफ्ट में एक उपवर्ग के लिए कस्टम इनिशियलाइज़र्स को ठीक से कैसे जोड़ सकता हूं (चूंकि ऑब्जेक्टिव-सी यह एक समस्या नहीं लगती है)?
MyViewController
?