我有一个UIButton
- (IBAction)checkButton:(id)sender {
if (!checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
checked = YES;
} else if (checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
checked = NO;
}
}
我想保存用户输入,即使在应用关闭后,也会检查按钮的天气状况。帮我处理任何人的代码?我不知道使用NSUserDefaults保存BOOL状态的代码。
答案 0 :(得分:1)
通过以下方式使用它:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool: checked forKey:@"Status"];
[defaults synchronize];
要检索它,
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL state = [defaults boolForKey:@"Status"];
答案 1 :(得分:0)
将按钮的Normal
和selected
状态的图像设置为
[checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateSelected];
[checkBoxButton setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
并在IBAction
设置
- (IBAction)checkButton:(id)sender {
if (!checked) {
[checkBoxButton setSelected:NO];
checked = YES;
} else if (checked) {
[checkBoxButton setSelected:YES];
checked = NO;
}
}
答案 2 :(得分:0)
这是一个例子:
if ([[NSUserDefaults standardUserDefaults] boolForKey:hasLaunchedOnceKey])
{
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:hasLaunchedOnceKey];
[[NSUserDefaults standardUserDefaults] synchronize]; //Saves the data
}
我所拥有的地方:
static NSString *hasLaunchedOnceKey = @"HasLaunchedOnce";
在@implementation语句之前声明。
有关详尽的教程,请参阅this。
**注意:您不需要在任何类型的plist文件中声明任何内容。您可以简单地检查并设置这些密钥,如果它们不存在,它们将被动态创建。无论如何,对我来说都是这样的。
快乐的节目!
答案 3 :(得分:0)
我的方式太简单了..你不需要采取任何其他变量。在初始化时设置您的按钮标签ZERO并在使用之后。
- (IBAction)checkButton : (id)sender {
if ([sender tag] == 0) {
[sender setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
[sender setTag:1];
} else {
[sender setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
[sender setTag:0];
}
}
谢谢&干杯..可能会有所帮助..