保存UIButton状态iOS

保存UIButton状态iOS,ios,nsuserdefaults,Ios,Nsuserdefaults,我有一个按钮 - (IBAction)checkButton:(id)sender { if (!checked) { [checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal]; checked = YES; } else if (checked) { [checkBoxButton setImage:[UIImage imageNamed:@"un

我有一个按钮

- (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保存布尔状态的代码。

将按钮的
正常
选定
状态的图像设置为

[checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateSelected];
[checkBoxButton setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
iAction
集合中

- (IBAction)checkButton:(id)sender {

    if (!checked) {
        [checkBoxButton setSelected:NO];
        checked = YES;
    } else if (checked) {
        [checkBoxButton setSelected:YES];
        checked = NO;
    }

}
使用方法如下:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool: checked forKey:@"Status"];
[defaults synchronize];
为了找回它

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL state = [defaults boolForKey:@"Status"];
以下是一个例子:

if ([[NSUserDefaults standardUserDefaults] boolForKey:hasLaunchedOnceKey])
{
    [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:hasLaunchedOnceKey];
    [[NSUserDefaults standardUserDefaults] synchronize]; //Saves the data
}
我有:

static NSString *hasLaunchedOnceKey = @"HasLaunchedOnce";
在@implementation语句之前声明

有关详细教程,请参见

**注意:您不需要在任何类型的plist文件afaik中声明任何内容。您只需检查并设置这些键,如果它们不存在,将动态创建它们。反正对我来说也是这样


快乐编程

我的方法太简单了。。您不需要接受任何其他变量。在初始化时,将按钮标签设置为零,然后使用此按钮

  - (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];
      }
  }

谢谢,干杯。。可能很有帮助。

使用选定属性您想在表视图中保持状态是!应用程序在表视图中关闭后UIButton的状态。然后,您最好更新tableview的数据源以保留状态并将其保存到磁盘,或者使用
NSKeyedArchiver
:检查我的答案:)第一部分将帮助您保存状态(即,在您的情况下,变量已选中),即使在应用程序关闭时也是如此。第二部分将帮助检索存储的变量。您应该使用它来设置按钮的初始状态。