ios - 将 Interface Builder 用于 Switch

标签 ios xcode save switch-statement

如果使用 interface builder 将 Switch 拖到 xib 文件中,则可以在 IB 中将状态设置为开/关。有没有办法将开关的状态保存到应用程序下次启动时,以便开关处于关闭之前的相同状态?

最佳答案

您可以使用 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: Action 中

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

希望这对您有所帮助。

关于ios - 将 Interface Builder 用于 Switch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13969420/

相关文章:

iphone - UIViewController 上的两个标题栏(UITableViewController 的 subview )

objective-c - XCode 4.5、静态库和类别

iOS AVPlayer 不会播放有声读物,但 MPPLayerController 可以

ios - 如果没有 Apple Developer 许可证,如何在我的 iPhone 上测试应用程序?

iphone - Xcode 4 和数据库

ios - 从 NSUserDefaults 读取图像

java - 尝试保存图像时出错

ios - 如何在 iOS 应用程序中保存数据?

ios - 进程有超出允许时间的事件断言 iOS

c++ - 在 C++ lldb 中使用重载运算符评估表达式