ios - UIDocument loadFromContents: is not always called after document was changed on another device -
मेरे पास एक कस्टम यूआईडीओका सबक्लास है और इसका कार्यान्वयन loadFromContents: और
contentsForType: ।
यह पता लगाने के लिए कि दस्तावेज़ दूसरे डिवाइस पर बदल दिया गया था, मैंने
loadFromContents: के लिए एक प्रतिनिधि जोड़ा:
- (BOOL) loadFromContents: (आईडी) की सामग्री की प्रकार: (NSString *) प्रकारनाम त्रुटि: (NSError **) outError {डिस्क से लोड [एक ??] | अगर ([_delegate respondToSelector: @selector (नोट दस्तावेज़ दस्तावेज़ अद्यतन :)) {[_delegate noteDocumentContentsUpdated: self]; } हां लौटें; } मेरी समस्या यह है कि जब मैं किसी अन्य डिवाइस पर दस्तावेज़ को बदलता हूं, तो मुझे दस्तावेज़ स्टेट परिवर्तन सूचनाएं प्राप्त होती हैं ( edit_disabled इसके बाद normal ), लेकिन सामग्री नहीं पुनः लोड की गई है और loadFromContents: नहीं कहा जाता है।
सामग्री निश्चित रूप से डिस्क पर अपडेट की गई थी जब मैं मैन्युअल रूप से यूआई के माध्यम से दस्तावेज़ को फिर से खोलता हूं, तो मैं तुरंत नवीनतम बदलाव देखता हूं।
दूसरी बार यह काम करता है और loadFromContents: को स्वचालित रूप से कहा जाता है मैं समझ नहीं सकता कि यह कभी-कभी काम क्यों नहीं करता। क्या किसी और ने इस समस्या को देखा है?
आप नोटिफिकेशन के बाद मैन्युअल रूप से दस्तावेज़ संस्करण को हल करने और / या फिर सामान्य स्थिति में होने के बाद दस्तावेज पुनः लोड करें।
दस्तावेज़ की सामग्री को पुनः लोड करने के लिए निम्न UIDocument विधि को देखो:
- (शून्य ) RevertToContentsOfURL: (NSURL *) url completionHandler: (शून्य (^) (BOOL सफलता)) समापन Handler;
Comments
Post a Comment