1

我遇到了这个代码,如下所示。如何在不创建任何按钮(IBAction)的情况下将现有的注释引脚信息保存到 NSUserdefault?我应该将 NSUserDefault 代码放入 viewWillDisappear 吗?这是正确的方法吗?

保存:

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
[ud setDouble:location.latitude forKey:@"savedCoordinate-latitude"];
[ud setDouble:location.longitude forKey:@"savedCoordinate-longitude"];
[ud setBool:YES forKey:@"savedCoordinate-exists"];
[ud synchronize];
4

2 回答 2

2

viewWillDisappear是一个经常用来保存状态的时刻,但它不是唯一的地方或唯一可能的地方。如果用户暂停您的应用程序怎么办?你不会得到viewWillDisappear。如果viewWillDisappear不是您可以访问注释信息的地方怎么办?在创建注释时,最好将信息保存到用户默认值。这取决于您的应用程序的性质、目的和架构;这是你要解决的问题。您的工作是知道您的代码何时将在事件驱动框架下运行,并且表现得恰当。

于 2012-10-04T02:12:17.380 回答
1

当您想要保存该数据时,您可以将该代码放在任何您想要的位置。NSUserDefaults 可以在任何地方访问。同步是将其保存到磁盘的原因。

于 2012-10-04T02:10:07.123 回答