如果使用界面构建器将Switch拖到xib文件,则可以在IB中将状态设置为on / off。有没有一种方法可以保存开关的状态,直到下次启动应用程序,以便开关在关闭之前处于相同状态?

最佳答案

您可以使用NSUserDefaults保存它。

首先将您的交换机作为IBOutlet连接

@property (weak, nonatomic) IBOutlet UISwitch *mySwitch;


另外,将交换机作为IBAction连接,事件类型为“ Value Changed”

- (IBAction)switched:(id)sender;


然后在您的UIViewController的viewDidLoad

BOOL savedState = [[NSUserDefaults standardUserDefaults] boolForKey:@"mySwitch"];
[self.mySwitch setOn:savedState];


并在新的switched:操作中

- (IBAction)switched:(id)sender
{
    if (sender == self.mySwitch)
    {
        [[NSUserDefaults standardUserDefaults] setBool:self.mySwitch.isOn forKey:@"mySwitch"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}


希望这可以帮助。

09-25 19:43