这里有点菜鸟。我无法通过阅读这些板来解决我的问题 - 谁能发现这个问题:
我有一个标签,我想每天更新它,我已经尝试使用 NSUserDefaults 进行此操作。
-(id)init{
...
...
NSDate *date = [NSDate date];
NSString *todaysDate = [NSString stringWithFormat:@"%@", date];
[self createLabel:todaysDate];
}
-(void)createLabel:(NSString*)theDate{
if([[NSUserDefaults standardUserDefaults] objectForKey:theDate] == nil){
myLabel.text = [someOtherClass getAppropriateString];
[[NSUserDefaults standardUserDefaults] setObject:[mylabel text] forKey:theDate];
}else{
myLabel.text = [[NSUserDefaults standardUserDefaults] stringForKey:theDate]
}
}
编辑:
谢谢你们的帮助。写这个题的时候,我才真正意识到自己的错误!
刚刚做了一个快速测试。
如果有人感兴趣:今天日期的字符串包括分钟和秒,这意味着每次我运行应用程序并将其保存为 NSUserDefault 时,它都会有所不同。
我添加了一个日期格式化程序,现在它可以工作了。
最佳答案
您可能忘记同步
您的更改。在 setObject:forKey:
行之后添加 [[NSUserDefaults]一线同步];
行
关于iphone - 卡在 NSUserDefaults 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9872197/