मैं एक ऐसे मुद्दे पर आया हूं जहां मैं अपने ऐप की मुख्य विंडो, तक नहीं पहुंच सकता क्योंकि यह शून्य देता है।एनएसविंडो रिटर्न शून्य (एनएसएपीप्लिकेशन)
let window = NSApplication.sharedApplication().mainWindow
मैंने पाया इसी तरह के सवाल:
How to get Main Window (App Delegate) from other class (subclass of NSViewController)?
लेकिन कर रही:
let window = (NSApplication.sharedApplication() as! NSArray).objectAtIndex(0)
या तो काम करने के लिए प्रतीत नहीं होता।
क्या मुझे स्टोरीबोर्ड में गड़बड़ करना है?
अग्रिम धन्यवाद।
अद्यतन:
मैं वास्तव में ऑब्जेक्टिव-सी से बंदरगाह कुछ करने की कोशिश कर रहा हूँ।
NSWindow *mainWindow = [[[NSApplication sharedApplication] windows] objectAtIndex:0];
NSLog(@"%@", mainWindow.contentViewController);
यह एक उचित मान देता है, जब एक NSViewController
में viewDidLoad()
ब्लॉक में डाल दिया, तो मेरा अनुमान है कि वहाँ कुछ NSApplication.sharedApplication()
साथ कुछ गड़बड़ है।
उत्तर देने के लिए धन्यवाद। मैं देखने के लिए एक मान सेट करने की कोशिश कर रहा हूं जब दृश्य 1 के लिए तालिका कक्ष टैप किया गया है। तो, यह लोडिंग समाप्त होने वाला माना जाता है। यह क्यों होगा? –
क्या आपकी खिड़की मुख्य खिड़की है? यदि यह एक 'एनएसपीनेल' है तो यह तब तक मुख्य होने से इंकार कर देता है जब तक कि आप सचमुच वापस आने के लिए 'canBecomeMainWindow() 'ओवरराइड नहीं कर लेते। इसी तरह, यदि इसमें कोई शीर्षक पट्टी नहीं है और आकार बदलने योग्य नहीं है, तो यह मुख्य बनने से इंकार कर देगा। –
मेरे 'प्रारंभिक नियंत्रक' के रूप में, 'NSWindow 'के साथ' NSWindowController' सेट है। 'NSWindow' में एक शीर्षक पट्टी है, और आकार बदलने योग्य है। मुझे 'एनएसपीनेल' के बारे में निश्चित नहीं है ... मैंने कभी भी अपने कोड में इसका उपयोग नहीं किया है। –