我在一个UIButton中放置了一个BOOL。如果我单击按钮一次,那么我希望始终保存BOOL,这样我就不必在游戏中再次点击按钮。我使用了以下代码,但它不能保存。但是,代码应该可行。它主要是最后一行代码,使得保存不起作用。我做错了什么?
-(void)viewDidLoad{
[[NSUserDefaults standardUserDefaults] setBool:REDguy forKey:@"save"];
if (REDguy==[[NSUserDefaults standardUserDefaults]synchronize]) {
MAN.image=[UIImage imageNamed:@"RED.png"];
}
REDguy=[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];
}
编辑:
if (REDguy==YES) {
[[NSUserDefaults standardUserDefaults] setBool:REDguy forKey:@"save"];
REDguy =[[NSUserDefaults standardUserDefaults]boolForKey:@"save"];
MAN.image=[UIImage imageNamed:@"RED.png"];
}
答案 0 :(得分:0)
这是一个假设,因为你并没有真正澄清你的代码中发生了什么,但看起来你的bool REDGuy
总是会在viewDidLoad上成为NO
,并且if
条件可能始终为假,因为synchronize
可能始终为YES
(更不用说,这种比较没有意义,并且很少需要调用{{}} {1}}因为与用户默认值的同步发生在它自己的身上。)
确定之前是否按下按钮的一种简单方法是将以下内容添加到按钮操作方法中。
synchronize
这是你想要完成的吗?确定之前是否已点击过特定按钮?