मैं अपने पहले मैक दस्तावेज़-आधारित एप्लिकेशन पर काम कर रहा हूं। इस तरह केNSDocumentController currentDocument रिटर्निंग शून्य
- (BOOL)readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError;
- (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError;
- (void)makeWindowControllers;
मुख्य विंडो नियंत्रक के रूप में
मैं NSDocument
subclassed है, reimplementing तरीकों NSWindowsController
का एक उपवर्ग, कि दो NSViewController उपवर्गों होता है।
मुझे जिस समस्या का सामना करना पड़ रहा है वह यह है कि मुझे इन व्यू कंट्रोलर से वर्तमान दस्तावेज़ तक पहुंच की आवश्यकता है। मैं क्या करता हूं
MyDocument *myDocument = [[NSDocumentController sharedController] currentDocument];
पहले, एप्लिकेशन शुरू करने के ठीक बाद, एक नया दस्तावेज़ बनाया गया है। फिर, मुख्य विंडो और इसके दृश्य नियंत्रक बनाए जाते हैं, लेकिन उपरोक्त विधि शून्य लौटाती है। यहाँ लॉग (NSLog उपयोग करते हुए) मैं प्राप्त होते हैं:
Just created this new document: <MyDocument: 0x10040ff10>
I'm in a view controller and current document is (null)
उसके बाद, एक नया दस्तावेज़ बनाने और एक गैर शून्य सूचक में इस विधि परिणाम बुला, लेकिन यह सही दस्तावेज़ पर इंगित नहीं करता है, लेकिन पहले एक करने के लिए:
Just created this new document: <MyDocument: 0x100437e10>
I'm in a view controller and current document is <MyDocument: 0x10040ff10>
सूचना है कि दूसरी दस्तावेज़ निर्माण के बाद, पहले दस्तावेज़ में और नहीं एक दूसरे को currentDocument
अंक।
कोई भी विचार जो मैं याद कर रहा हूं या गलत कर रहा हूं? currentDocument
NSDocumentController
के लिए सेट कब है?
धन्यवाद, लेकिन मैंने पहले से ही कोशिश की है और मैं अभी भी परिणाम के रूप में शून्य हो रहा हूं। मैं ऐप्पल के लिए "सक्रिय नहीं" के बारे में भी अनिश्चित था, लेकिन मेरे मामले में यह ऐप शुरू करने के ठीक बाद होता है। कोई ड्रैग-एंड-ड्रॉप नहीं, कुछ विशेष नहीं है। – msoler