IOS 退出程序时存储数据

避免频繁的去写磁盘,可以将需要保存的数据在退出程序(杀进程)时,一起保存到磁盘上的文件中。

具体执行的是下面两个方法:(以下的两个方法最好在真机上模拟操作(会打印出log日志在调试界面),在模拟器上是不会进入的(不会打印log日志在调试界面))

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    /*
     Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
     If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
     */
     NSLog(@"------------applicationDidEnterBackground");
     [HConfigration writeConfigWithKey:@"k-in12" WithValue:[NSString stringWithFormat:@"%d", 12]];
    [[HConfigration sharedManager] storeConfigData];
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    /*
     Called when the application is about to terminate.
     Save data if appropriate.
     See also applicationDidEnterBackground:.
     */
    NSLog(@"------------applicationWillTerminate");
    
     [HConfigration writeConfigWithKey:@"k-i" WithValue:[NSString stringWithFormat:@"%d", 18]];
    [[HConfigration sharedManager] saveFileDic];
}

在真机上杀进程推出:

执行的顺序如下

2015-07-05 21:45:37.874 J_IPhone[1525:197654] ------------applicationDidEnterBackground

2015-07-05 21:45:37.963 J_IPhone[1525:197654] ------------applicationWillTerminate

与此同时,查看真机的decoment文件,可以看出,需要保存的数据已经写入到磁盘上。

over。

另外,今天在调试时,xcode一直进不去断点:(cleanall后,删除app,然后重新编译就可以进断点了

Xcode调试代码时,有时会遇到断点不停的问题。一般来说是你的改动和Xcode编译出来的调试信息不一致造成的。
解决方法
1、先cleanall,再构建(Build)一遍;
2、如果方案一没有解决问题,可以选中Xcode的项目,在Finder中打开内容,删除*.pbxuser和*.mode1v3文件,重新打开project下端点。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值