Что у меня так далеко:
В одном splitview у меня есть табличное представление в качестве его мастера и UIView в качестве детализации. Табличное представление имеет 2 столбца: «Дни», а затем «Сеансы». Я получаю данные из Базовых данных, сущностей, называемых «Сеансами». Когда я нажимаю на ячейку таблицы «Сеанс», подробный вид обновляется.
В подробном представлении я добавил кнопку «Добавить» на панели навигации. Когда вы нажимаете на это, я добавляю новую сущность с именем «NewSession» к основным данным.
if ([_sessionData.added isEqualToNumber:[NSNumber numberWithBool:NO]]) {
[_sessionData setValue:[NSNumber numberWithBool:YES] forKey:@"added"];
SessionData *session = (SessionData*) [NSEntityDescription insertNewObjectForEntityForName:@"NewSessions" inManagedObjectContext:[DataSingleton sharedMySingleton].managedObjectContext];
session.startDate = _sessionData.startDate;
session.endDate = _sessionData.endDate;
session.sessionLocation = nil;
session.sessionTitle = _sessionData.sessionTitle;
session.sessionDescription = _sessionData.sessionDescription;
[session setValue: [NSNumber numberWithBool:YES] forKey:@"added"];
_addButton = [[[UIBarButtonItem alloc] initWithTitle:@"Remove" style:UIBarButtonSystemItemAdd target:self action:nil] autorelease];
NSError *error = nil;
if (![[DataSingleton sharedMySingleton].managedObjectContext save:&error]) {
DebugLog(@"Whoops, couldn't save:%@", [error localizedDescription]);
}
}
else {
NSLog(@"SESSION ALREADY ADDED");
}
ДРУГОЙ просмотр таблицы splitview выбирает сущность "NewSession", получает все данные и отображает их.
ПРОБЛЕМА:
Всякий раз, когда я выхожу из приложения и перезапускаю его, сеансы в другом разделенном представлении все еще там, НО я могу снова добавить ТО ЖЕ сеанс.
В коде «add» у меня есть следующее:
[_sessionData setValue:[NSNumber numberWithBool:YES] forKey:@"added"];
Теперь мои sessionData - это NSManagedObject; и я думал, что просто установка значений обновит их в основных данных.
Может кто-нибудь помочь?