वाले दस्तावेज़ों को पुनर्स्थापित नहीं करता है मेरे पास NSDocumentController subclass के साथ NSDocument पर आधारित एक एप्लिकेशन है। मेरा एनएसडी दस्तावेज़ एक कस्टम योजना के साथ फ़ाइल यूआरएल और यूआरएल दोनों के साथ काम करता है जो एक वेब सेवा का उपयोग करते हैं।दस्तावेज़-आधारित ऐप गैर-फ़ाइल URL
मैं -saveToURL:ofType:forSaveOperation:completionHandler:
सहित कस्टम कोड का उपयोग करके लोडिंग और बचत को संभालता हूं। +autosavesInPlace
YES
देता है।
मेरी समस्या यह है कि: कस्टम URL योजना वाले दस्तावेज़ स्टार्टअप पर पुनर्स्थापित नहीं किए जाते हैं। फ़ाइल यूआरएल योजना के साथ दस्तावेज हैं - फाइलों में सहेजे गए नियमित दस्तावेज, और शीर्षक रहित दस्तावेज़ जो स्वत: सहेजे गए हैं।
खुले सर्वर-आधारित दस्तावेज़ों को छोड़ने और ऐप छोड़ने के बाद, किसी भी NSDocument विधियों को पुनरारंभ करने के लिए नहीं कहा जाता है। विशेष रूप से, चार initializers में से कोई भी कहा जाता है:
- -init
- -initWithContentsOfURL: ofType: त्रुटि:
- -initForURL: withContentsOfURL: ofType: त्रुटि:
- -initWithType: त्रुटि:
NSDocumentController विधि -reopenDocumentForURL:withContentsOfURL:display:completionHandler:
या तो नहीं कहा जाता है।
दस्तावेजों के पुनर्विक्रय राज्य कैसे और कब एन्कोड किए गए हैं? वे कब और कब डीकोड किए जाते हैं?
यह शुरू करने में एक बड़ी मदद थी। यह पता चला कहानी अधिक जटिल है: यह वास्तव में NSDocument, नहीं NSWindow, जो * दस्तावेज़ एन्कोडिंग के लिए जिम्मेदार है है * राज्य (गिने आईडी, यूआरएल, हाल के परिवर्तन, प्रकार है) '-encodeRestorableStateWithCoder के अपने स्वयं के कार्यान्वयन में:'। NSDocumentController दस्तावेज़ को पुनर्स्थापित करने के लिए उस राज्य की जानकारी का उपयोग करता है, फिर '-मेकविंडो कंट्रोलर' और एनएसएप्लिकेशंस (या एनएसएप्लिकेशंस के समापन हैंडलर) को आमंत्रित करता है?) विंडो को पुनर्स्थापित करता है। साथ ही, NSDocumentController के कस्टम उप-वर्ग का उपयोग करते समय, ऐपकिट सेट * उस * वर्ग को 'बहाली क्लास' के रूप में सेट करता है। – paulmelnikow