在多视图应用程序中维护状态

时间:2010-12-01 19:59:34

标签: cocoa-touch iphone-sdk-3.0

我有一个appdelegate,可以启动一个在2个uiviews之间切换的视图控制器。

我的问题是我想维持状态。我认为这是在appdelegate applicationWillTerminate中完成的。我的问题是如何从两个视图中访问按钮文本和tableview数据以及保存表数据的最佳方法是什么?。

1 个答案:

答案 0 :(得分:0)

要保留当前屏幕,请尝试使用NSUserDefaults:

[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:kLastOpenedScreenKey];   

对于其他人,如果您正在使用Core Data存储并编辑存储本身以进行表数据访问和修改,只要您保存managedObjectContext,重新加载就应该自行处理。只需确保在使用以下代码修改商店后保存数据:

NSManagedObjectContext *moc = [self managedObjectContext];
NSError *error;
if (![moc save:&error]) {
    NSLog(@"Couldn't save!");
}

编辑:如果您不在appDelegate中,并且未将managedObjectContext设置为实例变量,请改用以下代码行:

NSManagedObjectContext *moc = [[[UIApplication sharedApplication] delegate] managedObjectContext];