मैं एक निब फ़ाइल से एक विंडो नियंत्रक ऑब्जेक्ट प्रारंभ करना चाहता हूं, काफी आसान है? लेकिन मैं बस इसे काम नहीं कर सकता।स्विफ्ट में एनएसविंडो कंट्रोलर कैसे शुरू करें?
ObjC में अपने पिछले अनुभव के अनुसार, मैं निम्नलिखित कोड नीचे लिखा है:
var myWindowController: MyWindowController = MyWindowController()
myWindowController.showWindow(self)
myWindowController.window.makeKeyAndOrderFront(nil)
:
init() {
super.init(windowNibName: "SplitWindowController")
}
और एप्लिकेशन प्रतिनिधि फ़ाइल में, मैं बस init और विंडो प्रदर्शित करता है लेकिन संकलक मुझे यह त्रुटि देता है: Must call a designated initializer of the superclass 'NSWindowController'
। और NSWindowController
परिभाषा के स्विफ्ट संस्करण के अनुसार, केवल 3 नामित प्रारंभिक, init()
, init(window)
, init(coder)
हैं। मुझे नहीं पता कि आगे क्या करना है। क्या मैं एक निब फ़ाइल से NSCoder
का निर्माण करूंगा, जो मुझे नहीं पता कि कैसे करना है?
init(window: NSWindow!)
init(coder: NSCoder!)
एक उपवर्ग बनाते समय, आप अपने सुपर क्लास के नामित प्रारंभकर्ता आह्वान करना चाहिए:
@George यहाँ देख आपके प्रश्न का उत्तर दिया: [उपवर्गीकरण NSWindowController] [1] [1]: http: // stackoverflow।कॉम/प्रश्न/24220638/उपclassing-nswindowcontroller-in-swift-and-initwindownibname – mqueue