我是iOS开发的新手,所以请耐心等待。我创建了一个使用CoreData框架的应用程序,我一直在关注Apple网站上的教程。我有一个带有Context,Object和PersistantStore的AppDelegate文件。 RootViewController,以及RootViewController使用Context和fetchedResultsController调用的SubViewController。在我的ModelData中,我有4个字符串属性,用于存储有关其会话的基本用户信息。
我想要做的是当用户退出程序时,他们的过去信息被删除并且新信息将被保存。我只想一直保存1个条目。问题是,当我进入保存时,由于某种原因我得到一个SIGABRT。当我在保存周围尝试捕获时,我能够在下次尝试保存时看到数据。但是,当我重新启动应用程序时,会话信息不再存在。
有没有人可以给我任何好的建议?
修改
-(void)UpdateSession
{
// Delete all records
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Session" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSError *error = nil;
NSArray *items = [managedObjectContext executeFetchRequest:request error:&error];
[request release];
// Create and store a new session
Session *newSession = (Session *)[NSEntityDescription insertNewObjectForEntityForName:@"Session" inManagedObjectContext:managedObjectContext];
// Set the data
[newSession setMap:@"TestMap"];
[newSession setLayout:@"Top"];
[newSession setSpeed:@"3"];
[newSession setCamera:@"1"];
error = nil;
if(![managedObjectContext save:&error])
{
NSLog("Error");
}
}