applicationDidEnterBackground - 如何保存我的用户数据

时间:2011-03-26 21:31:32

标签: iphone objective-c cocoa-touch

新手的问题。

我有一个NotePageAppDelegate和一个NotePageViewController。简单。在我的ViewController中,我定义了一种保存用户数据的方法。如果我单击我的应用程序中的一个按钮,它调用我的ViewController中定义的方法saveToDisk,它可以完美地工作。

    -(IBAction) saveToDisk
{ // saves the file to the disk
}

如果我点击我的按钮,这完全有效。但是,如果我关闭应用程序(即在模拟器中单击主页按钮),我想自动保存页面。我认为这是相当直接的,所以我把它放在我的AppDelegate中:

- (void)applicationDidEnterBackground:(UIApplication *)application {

    NotePageViewController* controller = [NotePageViewController alloc];

    [controller saveToDisk]; 

    [controller release];

}

但是,这没有任何效果。我忘了定义别的东西吗?或者,如果我在模拟器中按下主页按钮,理论上应该这样做吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

我很惊讶不会崩溃,因为你在未初始化的实例上调用了一个方法。

你有正确的想法,但你应该在已经存在的控制器实例上调用saveToDisk,而不是创建一个可能没有用户修改的新实例。