我正在创建一个简单的double值,将其保存为NSUserDefault并尝试恢复它......但它没有。
- (IBAction)try:(id)sender {
double value = 42.00;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setDouble:value forKey:@"kDoubleKey"];
// NSLog(@"loading %f",myDouble);
}
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSUserDefaults *fetchDefaults = [NSUserDefaults standardUserDefaults];
double intValue = [fetchDefaults doubleForKey:@"kDoubleKey"];
NSLog(@"douvle retrieve %f",intValue);
}
答案 0 :(得分:1)
每当您将某些内容保存为默认值时,请不要忘记同步: 把它放在try方法的末尾
[[NSUserDefaults standardUserDefaults]synchronize];
以下是Apple对此的说法:因为此方法是定期自动调用的,所以只有在您不能等待自动同步(例如,如果您的应用程序即将退出)或者您希望将用户默认值更新为磁盘上的内容,即使您没有进行任何更改。