在用户终止或应用程序转到后台时保存应用程序数据字段

时间:2012-06-21 14:21:50

标签: iphone objective-c xcode

我的应用程序需要保存一些数据(大约100个存储在数组中的双字段以及一些其他字符串数据)。我有一个方法 - (void)case2save已经到位,当用户启动它并且一切正常时,将数据保存到NSDocumentDirectory,但是当应用程序被用户(主页)终止时,我需要保存相同的数据。通过iOS。

我正在尝试使用委托中的applicationDidEnterBackground来调用我在视图控制器.m类中使用的相同方法,但由于函数是按对象(不是类方法)我不能,但是如果我使它成为类方法我没有实际数据,这是对象的一部分......所以这就是问题。

如何在App终止或进入后台时解决该问题并保存数据?

感谢。

2 个答案:

答案 0 :(得分:1)

你可以在appdelegate中创建该函数,或者只是在appdelegate.h中声明该类的数据成员并将其设置为属性并将该数据成员设置为在您尝试保存数据的函数中为self,使用以下内容.. ...

//in Your Appdelegate.h suppose you have viewController named AbcViewController ....
AbcViewController  *abcVC;

create property ...
@property (nonatomic,retain) AbcViewController  *abcVC;

//in Your Appdelegate.m
@synthesize  abcVC;

//Now in function where you are trying to save database .....

AppdelegateClass   *app = (AppdelegateClass*)[[UIApplication sharedApplication]delegate];
 app.abcVC = self;

 //now call that function from applicationDidEnterBackground with the help of this object...

希望这能解决您的问题...

答案 1 :(得分:0)

发送了一个名为UIApplicationDidEnterBackgroundNotification的通知。您可以在视图控制器中监听它,并做出您需要的任何响应。