我看过一些指南说要这样做,而另一些指南则说以这种方式设置 NSUserDefaults 的初始值和键会在更新应用程序时导致问题。我希望我能在这里明确地回答这个问题。在我的 appdelegate didFinishLaunchingWithOptions 方法中,我有:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults integerForKey:@"totalDays"]) {
// if there is no value for the key, set it to 1
[defaults setInteger:0 forKey:@"totalDays"];
}
if (![defaults objectForKey:@"currentDate"]) {
[defaults setObject:@"32 01" forKey:@"currentDate"];
}
if (! [defaults boolForKey:@"marked"]) {
[defaults setBool:NO forKey:@"marked"];
}
if (![defaults arrayForKey:@"checkedrows"]) {
NSMutableArray *arr1 = [NSMutableArray arrayWithArray:[defaults arrayForKey:@"checkedrows"]];
}
[defaults synchronize];