मैं एक अस्थायी प्रबंधित ऑब्जेक्ट संदर्भ बनाने की कोशिश कर रहा हूं, और उपयोगकर्ता की कुछ स्क्रीनों को जानकारी देने के बाद, मैं उस संदर्भ को मुख्य संदर्भ के साथ विलय करता हूं (यह सुनिश्चित करने के लिए कि कोई "अधूरा" नहीं है वस्तुएं डाली जाती हैं)।NSManagedObject की प्रबंधित ऑब्जेक्ट कॉन्टेक्स्ट संपत्ति शून्य
if (!self.someManagedObject) {
NSManagedObjectModel *model = [NSManagedObjectModel mergedModelFromBundles:@[[NSBundle mainBundle]]];
NSPersistentStoreCoordinator *storeCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];
[storeCoordinator addPersistentStoreWithType:NSInMemoryStoreType configuration:nil URL:nil options:nil error:nil];
NSManagedObjectContext *managedObjectContext = [[NSManagedObjectContext alloc] init];
[managedObjectContext setPersistentStoreCoordinator:storeCoordinator];
self.someManagedObject = [NSEntityDescription insertNewObjectForEntityForName:@"SomeObject" inManagedObjectContext:managedObjectContext];
NSLog(@"%@", self.someManagedObject.managedObjectContext);
}
यह viewDidLoad
का एक हिस्सा है: यह कैसे मैं अपने अस्थायी संदर्भ बना सकते हैं और मैं इसे कैसे में एक ऑब्जेक्ट सम्मिलित है। कंसोल में यह दिखाता है कि प्रबंधित ऑब्जेक्ट संदर्भ में एक मान है।
हालांकि, सही इस के बाद बयान करता है, तो (viewDidLoad
भी भीतर, self.someManagedObject.managedObjectContext
नहीं के बराबर है। मैं अब और नहीं देख सकते हैं (यह बस दायरे से बाहर चला जाता है) क्यों स्थानीय चर उपलब्ध नहीं होगा, लेकिन प्रबंधित वस्तु की संपत्ति अभी भी सेट किया जाना चाहिए , है ना?
मैं जानता हूँ कि मैं प्रबंधित वस्तु संदर्भ स्टोर करने के लिए एक संपत्ति बना सकते हैं, लेकिन मैं नहीं बल्कि यह इस तरह से काम करने के लिए मिलता है चाहता हूँ।
'someObject'' someManagedObject' जैसा ही है? – aforaudrey
ओह, हाँ। मैंने पहले 'कुछ ऑब्जेक्ट' रखा, लेकिन फिर यह स्पष्ट करना चाहता था कि यह एक एनएसएमएनेज ऑब्जेक्ट है। –
आपने जांच की है कि 'self.someManagedObject' गैर-शून्य है? मान लीजिए 'insertNewObject ...' विफल रहा है या आपकी संपत्ति अनोखी है, जो आप जो देख रहे हैं उसे समझाएगी। – Tommy