У меня есть NSManagedObject, некоторые свойства которого инициализируются в начале программы.Когда я ссылаюсь на этот объект позже, он кажется неисправным, а свойства недоступны.Я не уверен, что мне нужно делать.
Это связано с новой функцией, добавленной в программу, которая бесперебойно работала с данными ядра.
Вотфрагмент кода, где он инициализируется как значение свойства синглтона.(Этот синглтон доступен для многих частей моего кода):
favoritesCollection = [[SearchTerms alloc] initWithEntity:[NSEntityDescription entityForName:@"SearchTerms" inManagedObjectContext:moc] insertIntoManagedObjectContext:moc];
favoritesCollection.keywords = @"Favorites List";
favoritesCollection.isFavoritesCollection = [NSNumber numberWithBool:YES];
favoritesCollection.dateOfSearch = [NSDate NSCExtendedDateWithNaturalLanguageString:@"4000"];
favoritesCollection.pinColorIndex = 0;
[moc save:&error];
NSLog(@"(favoritesCollection) = %@", favoritesCollection);
}
return favoritesCollection;
Когда я смотрю на FavoritesCollection с NSLog, я вижу это (я добавил несколько строк, чтобы было легче читать):
(favoritesCollection) =
<SearchTerms: 0x5c28820>
(entity: SearchTerms; id: 0x5a6df90
<x-coredata://3936E19F-C0D0-4587-95B6-AA420F75BF78/SearchTerms/p33> ;
data: {
dateOfSearch = "4000-09-25 12:00:00 -0800";...*more things after this*
После возврата другой NSLog показывает, что содержимое не повреждено.
Когда я обращаюсь к этому экземпляру позже, я вижу это в отладчике:
<SearchTerms: 0x5c28820>
(entity: SearchTerms; id: 0x5a6df90
<x-coredata://3936E19F-C0D0-4587-95B6-AA420F75BF78/SearchTerms/p33> ;
data: <fault>)
иэто все.
Поэтому я считаю, что объект сохраняется (я явно сохраняю его там, где он возвращается).У меня есть зомби, и это не похоже на зомби.
У меня есть только один managedObjectContext в программе, поддерживаемый в синглтоне.
Итак, что происходит, и как мне получитьк свойствам, которые были сохранены?