0

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

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

一个想法如何解决该问题并在应用程序终止或进入后台时保存数据?

谢谢。

4

2 回答 2

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...

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

于 2012-06-21T14:43:38.023 回答
0

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

于 2012-06-21T14:35:57.737 回答