Ios 如何在重新启动应用程序后保存按钮的状态?

Ios 如何在重新启动应用程序后保存按钮的状态?,ios,objective-c,nsuserdefaults,Ios,Objective C,Nsuserdefaults,因此,我有一个按钮,它可以在单击时更改其图像。我想保存按钮的状态,这样,当用户再次重新打开应用程序时,按钮将显示它的最后状态 下面是我的代码:- - (IBAction)xButtonOnPressed:(id)sender { [self.xButtonLabel setImage:[UIImage imageNamed:@"x_did-not-take_marked.png"] forState:UIControlStateSelected]; [self.xButtonLa

因此,我有一个
按钮
,它可以在单击时更改其图像。我想保存
按钮的状态,这样,当用户再次重新打开应用程序时,
按钮
将显示它的最后状态

下面是我的代码:-

- (IBAction)xButtonOnPressed:(id)sender {
    [self.xButtonLabel setImage:[UIImage imageNamed:@"x_did-not-take_marked.png"] forState:UIControlStateSelected];
    [self.xButtonLabel setImage:[UIImage imageNamed:@"x_did-not-take.png"] forState:UIControlStateNormal];

    self.xButtonLabel.selected = !self.xButtonLabel.selected;

}

代码的问题是,在重新启动应用程序后,它总是返回到
UIControlStateNormal
。如何保存最后一个按钮状态

为此使用NSUserDefaults

目标C:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
存储:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
检索:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
附加: swift 3:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
存储:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
检索:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")

此中有许多数据类型。请选择要保存的方式>:)

为此使用NSUserDefaults

目标C:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
存储:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
检索:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
附加: swift 3:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
存储:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")
检索:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
    boolForKey:@"BUTTON_STATE_NORMAL"];

if(isNormalState == true) {
  //Do your thing.
}
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
UserDefaults.standard.string(forKey: "Key")

这里面有很多数据类型。请选择要保存的方式>:)

假设您有一个名为button:

UIButton *button;

// get nsuserdefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// save selected state
[defaults setBool:button.selected forKey:@"myButtonState"];
然后,在应用程序再次启动后

// restore the selected state
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
button.selected = [defaults boolForKey:@"myButtonState"];

假设您有一个名为button的按钮:

UIButton *button;

// get nsuserdefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// save selected state
[defaults setBool:button.selected forKey:@"myButtonState"];
然后,在应用程序再次启动后

// restore the selected state
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
button.selected = [defaults boolForKey:@"myButtonState"];

使用NSUserDefault保存按钮状态…使用NSUserDefault保存按钮状态…我想要按钮未选中状态也请帮助我。谢谢我想要按钮未选中状态也请帮助我。谢谢