2012-09-12 6 views
11

कहा जाता है मेरे पास एक ऑब्जेक्ट है जो NSFilePresenter प्रोटोकॉल के अनुरूप है जो मेरे दस्तावेज़-आधारित अनुप्रयोग दस्तावेज़ पैकेज का प्रतिनिधित्व करता है। जब पैकेज के अंदर एक नई फाइल बनाई जाती है, तो या तो NSFileManager का उपयोग उचित NSFileCoordination विधियों या फ़ाइंडर के माध्यम से प्रोग्रामेटिक रूप से करते हुए मुझे केवल -presentedSubitemDidChangeAtURL: ईवेंट मिला, लेकिन इस मामले में -presentedSubitemDidAppearAtURL: में इतना स्पष्ट प्रतीत नहीं होता है।NSFilePresenter -PresentedSubitemDidAppearAtURL: विधि को कभी भी

क्या यह एक अपेक्षित व्यवहार है या मैं कुछ गलत कर रहा हूं? NSFilePresenter राज्य में यह स्पष्ट -presentedSubitemDidAppearAtURL: पर

टिप्पणियाँ:

सूचना प्राप्त है कि एक फ़ाइल या निर्देशिका निर्देशिका द्वारा निहित जोड़ा गया है। यदि यह विधि लागू नहीं की गई है लेकिन -presentedItemDidChange है, और निर्देशिका वास्तव में एक फ़ाइल पैकेज है, तो फ़ाइल समन्वय मशीनरी इसके बजाय -presentedItemDidChange का आह्वान करेगी।

+0

मुझे लगता है कि आपने '-PresentedItemDidChange' लागू नहीं किया है? – charles

+1

[यहां] (http://www.objc.io/issue-10/icloud-document-store.html) इस मुद्दे से संबंधित एक अच्छी पोस्टिंग है, और मेरा निष्कर्ष है; 'NSFilePresenter' का उपयोग न करें। – Eonil

+1

जीसीडी जाने का रास्ता प्रतीत होता है। [जीसीडी के साथ फाइल सिस्टम घटनाओं को संभालना] (http://www.davidhamrick.com/2011/10/10/handling-filesystem-events-with-gcd.html) – Eonil

उत्तर

8

कुछ समय के लिए इस सटीक मुद्दे के साथ संघर्ष करने के बाद, मैंने ऐप्पल के साथ तकनीकी समर्थन समस्या खोली। उनकी प्रतिक्रिया यह थी कि यह एक बग है, और एकमात्र चीज जो हम अभी कर सकते हैं -presentedSubitemDidChangeAtURL: के माध्यम से सबकुछ करना है।

मैं इस मुद्दे को किसी भी समस्या का सामना करने के लिए प्रोत्साहित करता हूं ताकि ऐप्पल को जितनी जल्दी हो सके इस समस्या को ठीक करने के लिए प्रोत्साहित किया जा सके।

+0

क्या आपके लिए ऐप्पल की प्रतिक्रिया "बग" की सीमा को इंगित करती है? क्या यह बस इतना है कि '-PresentedSubitemDidAppearAtURL: ',' ​​-accommodatePresentedSubitemDeletionAtURL: completHandler: 'et। अल। अभी तक NSFileCoordinator API द्वारा प्रबंधित नहीं किया गया है, या ऐसे मामले हैं जहां उन्हें बुलाया जाएगा? –

+0

उन्होंने मुझे कोई विवरण नहीं बताया, इसलिए मुझे यकीन नहीं है, दुर्भाग्य से। – jlong64

+1

2014 नवंबर में भी वही। मैं इसके लिए एक दिन बर्बाद हो गया। फिर भी धन्यवाद। – Eonil

-2

https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSFilePresenter_protocol/

आपका प्रस्तोता वस्तुओंसीधे का उपयोग कर निम्न स्तर पढ़ सकते हैं और फाइल करने के लिए कॉल बारे में किए गए परिवर्तनों के बारे में सूचित नहीं कर रहे हैं। केवल परिवर्तन जो फ़ाइल समन्वयक के माध्यम से पर जाते हैं, परिणाम में परिणाम होते हैं।