ios - Swift - 如何为 NSUserDefaults 设置初始值

标签 ios swift nsuserdefaults uiswitch

我有一个名为 soundSwitch 的开关,我使用 userDefault 保存按钮的状态:

@IBAction func soundsChanged(sender: AnyObject) {
        if soundSwitch.on{
            defaults.setBool(true, forKey: "SoundActive")
            print("Sound ON")
        }else{
            defaults.setBool(false, forKey: "SoundActive")
            print("Sound OFF")
        }
    }

目前,当用户首次启动应用程序时,实际默认值最初为 false。

如果用户启动应用程序但尚未配置它们,我如何将默认值设置为 true。

我见过 Objective-C 中的方法,但没有见过 Swift 中的方法。据我所知,您可以通过某种方式在应用程序委托(delegate)中或在 PList 文件中执行此操作。我该怎么做?

最佳答案

Swift 3 语法示例

注册一个 bool 默认值:

UserDefaults.standard.register(defaults: ["SoundActive" : true])

获取值:

UserDefaults.standard.bool(forKey: "SoundActive")

旁注:虽然上面的代码将返回 true,但请注意,在您设置之前,该值实际上并没有写入磁盘:

UserDefaults.standard.set(true, forKey: "SoundActive")

关于ios - Swift - 如何为 NSUserDefaults 设置初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37830558/

相关文章:

显示无效二进制 Xcode 11 beta 6 的 iOS 应用程序

ios - 如何在视频播放时显示 MPMoviePlayer 完成按钮?

ios - 我可以在 10.6.8 上使用 Xcode 进行 iPhone 开发吗?

html - 以编程方式调整 wkwebview 的高度

ios - 如何通过命令行参数设置 NSDictionary 用户默认值?

swift - 列出专辑标题时如何使用右侧的表格 View "index"?

ios - 如何在 Swift 中定义闭包数组?

ios - Realm 与 Firestore 上的大型集契约(Contract)步 - 架构问题/问题

ios - 保存和加载 NSMutableArray - NSUserDefaults

iphone - 如何一起使用 NSUbiquitousKeyValueStore 和 NSUserDefaults