У меня есть приложение на основе документа, работающее с основными данными.Объектная модель имеет три объекта с несколькими свойствами.Кажется, все работает в основном нормально - я могу заполнить некоторую информацию и сохранить ее, без проблем.Однако когда я открываю полученный файл, он всегда открывается «грязно», прежде чем я что-то коснулся, и некоторые поля иногда остаются пустыми.
Я имею в виду, что иногда вы открываете файл, и эти поля отображаются пустыми, а в другой раз вы открываете файл, и они отображаются с правильными данными.Пустые свойства связаны только с одним из объектов и отображаются в том же NSTabView
.Некоторые из них NSStrings
отображаются в виде значений в текстовых полях и надписях.
Обновление: Благодаря совету @ ughoavgfhw я переключился на хранилище XML и обнаружил две проблемы:создание нового объекта каждый раз, когда документ открывается в [MyDocument init]
вместо загрузки сохраненного в постоянном хранилище, но теперь у меня возникают проблемы с извлечением этого.
В полученном XML-файле послесохранить, он включает в себя это (сущность и свойства, которые доставляют мне проблемы):
<object type="STORY" id="z102">
<attribute name="title" type="string">test 6</attribute>
<attribute name="descript" type="string">this is a test</attribute>
</object>
, и я пытаюсь получить его с этим:
- (Story *)getSavedStory {
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Story" inManagedObjectContext:[self managedObjectContext]];
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:entityDescription];
NSError *error = nil;
NSArray *array = [[self managedObjectContext] executeFetchRequest:request error:&error];
if (array == nil) {
NSLog(@"%@",error);
return nil;
} else {
return [array lastObject];
}
}
После открытия этого постоянного хранилищаэтот запрос возвращает пустой массив (и без ошибок).Любые советы о том, куда идти отсюда?