2011-06-24 10 views
5

NSDocument आर्किटेक्चर का उपयोग करते समय किसी परियोजना/अभिभावक-बाल संबंध से निपटने के लिए लोगों को सबसे अच्छी तकनीक क्या मिली है?परियोजना-आधारित एनएसडी दस्तावेज़ वर्कफ़्लो

मेरा लक्ष्य एनएसडी दस्तावेज़ फाइल सिस्टम पर फ़ाइलों का एक सेट (एक गैर-अपारदर्शी बंडल, एक्सकोड प्रोजेक्ट निर्देशिकाओं के समान, प्रोजेक्ट बंडल नहीं) सेटिंग्स के साथ प्रबंधित करना है। फाइल सिस्टम पर फाइलें अपना स्वयं का एनएसडी दस्तावेज होना चाहिए, लेकिन परियोजना एनएसडी दस्तावेज को संदर्भित करने में सक्षम होना चाहिए। आदर्श रूप से यह प्रोजेक्ट एनएसडी दस्तावेज़ एक परिभाषित प्रकार के "इन-विंडो)" बच्चे "एनएसडी दस्तावेज़ प्रदर्शित करने में सक्षम है। संक्षेप में, मैं एक्सकोड के संपादन इंटरफेस चाहता हूँ।

क्या मैं इस गलत तरीके से आ रहा हूं? क्या मुझे केवल एक ही NSDocument (प्रोजेक्ट सेटिंग्स का "दस्तावेज़" और फाइल सिस्टम पर अंतर्निहित सादे फाइलों का उपयोग करना चाहिए)?

उत्तर

2

दस्तावेज़ संबंधों को परिभाषित करने के लिए कोई अंतर्निहित तरीका नहीं है। मैं सुझाव दूंगा कि एक दस्तावेज़ वर्ग है जो कस्टम विंडो नियंत्रकों का उपयोग करता है ताकि इसका अधिकांश काम किया जा सके। प्रोजेक्ट में कौन सी फाइल का चयन किया गया था, उसके अनुसार एक परियोजना खोले जाने पर यह निर्धारित करने के लिए कि कौन सी विंडो सक्रिय होनी चाहिए, यह निर्धारित करने के लिए आपके पास एक ही कक्षा का उपयोग करके कई दस्तावेज़ प्रकार हो सकते हैं। आपकी एनएसडी दस्तावेज़ कक्षा विभिन्न विंडो नियंत्रकों के बीच संचार को संभालने के साथ-साथ आवश्यकतानुसार विभिन्न विंडो नियंत्रकों को लोड/अनलोडिंग भी करेगी। प्रोजेक्ट में प्रत्येक अलग-अलग प्रकार की फाइल को अपनी कस्टम एनएसविंडो कंट्रोलर क्लास मिल जाएगी, जो आमतौर पर दस्तावेज़ लोडिंग/सेविंग, अंडो मैनेजमेंट इत्यादि जैसे दस्तावेज़ों द्वारा संभाले गए कई कर्तव्यों को संभालेगी। चूंकि विंडो नियंत्रक दस्तावेज़ से पहले आता है उत्तरदाता श्रृंखला, आपको इन घटनाओं में से अधिकांश को वर्तमान विंडो नियंत्रक को अग्रेषित करने की चिंता करने की आवश्यकता नहीं होगी। अनिवार्य रूप से, यही वह है जिसे आपने पूछा था, लेकिन आप बाल दस्तावेज़ों के बजाय विंडो नियंत्रकों का उपयोग कर रहे हैं।

संबंधित मुद्दे