सहेज नहीं रहा है मैं अपने डेटा को प्रबंधित करने के लिए UIManagedDocument का उपयोग कर रहा हूं। मैं मॉडल बनाता हूं और इसका उपयोग करता हूं, और सबकुछ काम कर रहा है, लेकिन मेरे बदलाव SQLite स्टोर पर वापस नहीं लिखे जा रहे हैं।UIManagedDocument
UIManagedDocument के लिए प्रलेखन का कहना है कि ऑटोसॉव को डाटाबेस को डेटा को बनाए रखने का ख्याल रखना चाहिए, लेकिन ऐसा प्रतीत नहीं होता है।
NSManagedObjectContext *moc = [doc managedObjectContext];
NSError *error = nil;
MyItem *itemToAdd = (MyItems *)[moc existingObjectWithID:(NSManagedObjectID *)itemsID error:&error];
यह वह वस्तु प्राप्त करता है जिसे मैं जोड़ना चाहता हूं (और सफल)।
[itemContainer addItemsObject:itemToAdd];
[doc updateChangeCount:UIDocumentChangeDone];
यह एक और वस्तु में एक आइटम संग्रह करने के लिए आइटम कहते हैं, और फिर दस्तावेज़ है कि मैं परिवर्तन करने के बाद कर रहा हूँ बताता है।
कोर डेटा स्टोर में लिखे गए परिवर्तन को देखने के लिए जल्द ही कुछ समय की उम्मीद है, लेकिन इंस्ट्रूमेंट्स में देखकर, मुझे लगता है कि यह कभी नहीं होता है।
आइटम संग्रह एक NSOrderedSet है, और इस मद पर टिप्पणी की वजह से:
Exception thrown in NSOrderedSet generated accessors
मैं एक addItemsObject जोड़ दिया है:
- (void)addItemsObject:(MyItem *)value
{
NSMutableOrderedSet* tempSet = [NSMutableOrderedSet orderedSetWithOrderedSet:self.items];
[tempSet addObject:value];
self.items = tempSet;
}
: वस्तु है कि संग्रह रखती है शायद कोर डेटा के साथ कुछ गलत हो रहा है, यह सूचित किया जा रहा है कि आइटम संग्रह बदल गया है, लेकिन मुझे नहीं पता कि कैसे।
उपकरण के साथ, मैं देख सकता हूं कि डेटा कोर डेटा कैश में लिखा जा रहा है। लेकिन यह कोर डेटा सॉफ़्टवेयर में दिखाई नहीं देता है, और यदि मैं ऐप को मारता और पुनरारंभ करता हूं, तो मेरे बदलाव चले गए हैं। – stevex
मुझे मेरी समस्या मिली। बाहर निकलता है मुझे उस वस्तु के साथ एक त्रुटि हुई जो मैं जोड़ने का प्रयास कर रहा था - मुझे एक आवश्यक संपत्ति याद आई - और ओवरराइडिंग हैंडल के बिना कोई संकेत नहीं है कि कोई समस्या है। इसे यहाँ के बारे में ब्लॉग: http://blog.stevex.net/2011/12/uimanageddocument-autosave-troubleshooting/ – stevex