我穿过这段代码,如下所示。如何在不创建任何按钮(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];
答案 0 :(得分:2)
viewWillDisappear
是经常用于保存状态的一个时刻,但它不是唯一的地方或唯一可能的地方。如果用户暂停您的应用该怎么办?你不会得到viewWillDisappear
。如果viewWillDisappear
不是您可以访问注释信息的地方,该怎么办?也许最好在创建注释时将信息保存到用户默认值。这取决于您的应用程序的性质,目的和架构;这是你要解决的问题。您的工作是知道您的代码何时在事件驱动的框架下运行,并且行为恰当。
答案 1 :(得分:1)
当您想要保存该数据时,可以将该代码放在任何位置。 NSUserDefaults可随处访问。同步是将其保存到磁盘的原因。