2011-08-09 22 views
5

मैं किसी दस्तावेज़ के साथ कुछ अतिरिक्त जानकारी संग्रहीत करना चाहता हूं, लेकिन मैं बंडल या पैकेज का उपयोग नहीं कर सकता, और मैं इसे दस्तावेज़ के अंदर ही स्टोर नहीं कर सकता।क्या मैं NSDocument का उपयोग कर संसाधन कांटा में लिख सकता हूं?

एप्लिकेशन एक टेक्स्ट एडिटर है, और मैं इसे दस्तावेज़ के साथ कोड फोल्डिंग और बुकमार्क स्थानों को स्टोर करना चाहता हूं, लेकिन जाहिर है कि इसे सीधे कोड में एम्बेड नहीं किया जा सकता है, और मैं कोड को बदलना नहीं चाहता बदसूरत टिप्पणियां

क्या मैं किसी दस्तावेज़ के संसाधन कांटा में जानकारी संग्रहीत करने के लिए NSDocument का उपयोग कर सकता हूं? यदि हां, तो मैं यह कैसे कर सकता हूं? क्या मुझे सीधे <filename>/..namedfork/rsrc पर लिखना चाहिए या क्या कोई एपीआई उपलब्ध है?

उत्तर

9

सबसे पहले, संसाधन कांटा का उपयोग न करें। यह लगभग बहिष्कृत है। इसके बजाय, विस्तारित विशेषताओं का उपयोग करें। उन्हें setxattr और getxattr के माध्यम से बीएसडी स्तर पर प्रोग्रामेटिक रूप से सेट किया जा सकता है। विस्तारित विशेषताओं का उपयोग कई स्थानों पर किया जाता है ... उदाहरण के लिए, नवीनतम ओएस एक्स में, संसाधन कांटा स्वयं को विशेष प्रकार के विस्तारित विशेषताओं के रूप में कार्यान्वित किया जाता है।

उदाहरण के लिए, कोको पाठ प्रणाली स्वचालित रूप से एन्कोडिंग निर्दिष्ट करने के लिए फ़ाइल में एक विस्तारित विशेषता जोड़ती है।

मैंने सोचा NSFileManager और NSFileWrapper हिम तेंदुए के बाद विस्तारित विशेषताओं का समर्थन किया, लेकिन मुझे कोई दस्तावेज नहीं मिला: पी आप हमेशा बीएसडी स्तर के कार्यों का उपयोग कर सकते हैं।

1

क्या राज्य को किसी अन्य कंप्यूटर पर कॉपी होने पर फ़ाइल के साथ स्थानांतरित करने की आवश्यकता है? यदि नहीं, तो आप बेयर बोन्स बीबीईडीट के साथ दस्तावेज़ स्थिति को संभालने के तरीके को अनुकरण करने से बहुत खराब कर सकते हैं। वे ~/लाइब्रेरी/प्राथमिकता/com.barebones.bbedit.PreferenceData/दस्तावेज़ State.plist में सभी दस्तावेज़ों के लिए राज्य संग्रहीत करते हैं।

संसाधन कांटा प्रलेखन is here। लेकिन इसमें संसाधन कांटा का उपयोग न करने के लिए बहुत सारे सुझाव हैं।

0

मेरे पास संसाधन वेबसाइटों को पढ़ने और लिखने के लिए मेरी वेबसाइट पर एक कक्षा है, जिसे मैंने कभी भी अपने गिटहब भंडार में जाने के लिए नहीं मिला है, क्योंकि यूजी बताते हैं कि वे वास्तव में और अधिक उपयोग नहीं किए जाते हैं।

मैं कह रहा था कि उपनाम फाइलें और वेब इंटरनेट स्थान फ़ाइल एकमात्र स्थान हैं जिनका उपयोग किया जाता है, लेकिन मैंने Mac OS X v10.7 (शेर) पर इसका उपयोग और परीक्षण किया, और इनका उपयोग और भी नहीं किया जाता है; वे अभी भी कस्टम आइकन के लिए इस्तेमाल किया जा सकता है। मैंने उस विशेष रूप से परीक्षण नहीं किया। मुझे देखना होगा कि यह मेरे एनडीएएलएएस कक्षा को 10.7 पर कैसे प्रभावित करता है।

ndresourcefork

+0

प्रिय नाथन, आपको यहां देखकर अच्छा लगा! मैंने अपनी परियोजना में अपने 'एनडीएलआईएएस' का इस्तेमाल किया जिसने मुझे काफी मदद की। (हालांकि, मैं 'NSURL' में आधिकारिक बुकमार्क एपीआई में स्थानांतरित हुआ।) – Yuji

+0

हाँ मैंने सुना है कि मुझे इसमें देखना होगा। –