Właściwość managedObjectContext NSManagedObject ma wartość zero

Próbuję stworzyć tymczasowy kontekst zarządzanego obiektu, a po kilku ekranach użytkownika wprowadzającego informacje, łączę ten kontekst z głównym kontekstem (aby upewnić się, że nie ma żadnych „niekompletnych” obiektów). W ten sposób tworzę tymczasowy kontekst i wstawiam do niego obiekt:

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);
}

To jest częśćviewDidLoad. W konsoli pokazuje, że kontekst obiektu zarządzanego ma wartość.

Jednak zaraz po tym, jeśli oświadczenie (nawet wewnątrzviewDidLoad, self.someManagedObject.managedObjectContext jest zero. Widzę, dlaczego lokalna zmienna nie byłaby już dostępna (po prostu wychodzi poza zakres), ale właściwość zarządzanego obiektu powinna być nadal ustawiana, prawda?

Wiem, że mogę utworzyć właściwość do przechowywania kontekstu obiektu zarządzanego, ale wolałbym, żeby działał w ten sposób.

questionAnswers(2)

yourAnswerToTheQuestion