更新一个managedObject我迄今为止:在核心数据
在一个SPLITVIEW,我有个一个的tableview作为其主,和一个UIView作为细节。该tableview有2列:“天”,然后“会议”。我从核心数据中获取数据,这些实体称为“会话”。当我点击“Session”tableviewcell时,detailview会被更新。
在detailview中,我在导航栏中添加了一个“添加”按钮。当你点击这个时,我将一个名为“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");
}
ANOTHER SPLITVIEW的tableview中提取的 “newsession的” 实体,并获取所有数据并显示它。
问题:
每当我退出应用程序并重新启动它,在其他SPLITVIEW会议仍然存在,但我可以再次添加同一会话。
中的 “添加” 的代码,我有以下几点:
[_sessionData setValue:[NSNumber numberWithBool:YES] forKey:@"added"];
现在,我的sessionData是NSManagedObject;我认为只要设置这些值就可以在核心数据中更新它们。
任何人都可以帮忙吗?
谢谢,我会试试这个! – jylee