使用 UserDefaults 保存和检索 bool

2023-11-21

我正在尝试保存一个bool从 UISwitch 到 UserDefaults 的值,并在另一个视图中检索它。但是,我尝试遵循多个教程和堆栈答案,但似乎都不起作用。

这就是我保存它的方式:

class SettingsViewController: UITableViewController {

@IBOutlet weak var soundSwitchOutlet: UISwitch!

@IBAction func soundSwitch(_ sender: UISwitch) {

    UserDefaults.standard.set(soundSwitchOutlet.isOn, forKey: "sound")

}

这就是我尝试在另一个视图中检索它的方式:

if let savedValue = UserDefaults.standard.bool(forKey: "sound") {
        boolValue = savedValue
    }

//this is inside viewDidLoad and "boolValue" was declared outside viewDidLoad//

由于某种原因,这段代码给了我错误,并且我尝试过的所有方法都不起作用。如何将布尔值保存到 UserDefaults 并在另一个视图中检索它?

编辑:我想我修复了第一部分。但是,我检索布尔值的方式似乎完全错误。另外:没有其他 stackExchange 答案可以回答我的问题,至少不能快速回答。


正如Leo在评论中提到的bool(forKey返回一个非可选的Bool。如果密钥不存在false被返回。

所以这很简单

boolValue = UserDefaults.standard.bool(forKey: "sound")

Calling synchronize()正如其他答案中所建议的那样,不需要。该框架定期更新用户默认数据库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 UserDefaults 保存和检索 bool 的相关文章

  • 如何在 swift 3 中发布原始数据?

    如果我使用 Postman 发布原始数据 就会收到响应 我正在使用这个代码 var dict Dictionary
  • UICollectionView 项目顺序在从右到左语言中不颠倒

    我注意到一个大问题 在从右到左的语言中 单元格顺序没有正确颠倒 只有对齐是正确的 但仅适用于水平流布局 并且如果集合视图包含不同的细胞大小 是的 我知道这听起来很疯狂 如果所有单元格大小相同 则排序和对齐就很好 这是到目前为止我通过示例应用
  • 如何在 iOS 上的视图之间进行展开/收缩转换?

    我正在尝试在 iOS 中制作过渡动画 其中视图或视图控制器似乎扩展以填充整个屏幕 然后在完成后收缩回原来的位置 我不确定这种类型的转换的正式名称是什么 但您可以在 iPad 版 YouTube 应用中查看示例 当您点击网格上的搜索结果缩略图
  • 在 Alamofire 中快速发送 GET 请求中的 json 对象

    我正在尝试执行一个绑定了 json 对象的 GET 请求 这就是我生成 JSON 对象的方式 let jsonObject String AnyObject ean code type match value 16743799 然后我执行了
  • 如何在原生 Swift 中实现以前称为 NSMutableOrderedSet 的可变有序集泛型类型?

    我正在尝试实现一个通用的可变有序集类型 它需要符合许多协议才能以与 Swift 中的数组和集合相同的方式运行 首先要实现泛型类型元素需要符合Hashable https developer apple com documentation s
  • 无法将类型“(User?, Error?) -> ()”的值转换为预期参数类型“AuthDataResultCallback?”

    当我更新 firebase pod 时出现此错误 无法将类型 User Error gt 的值转换为预期参数类型 AuthDataResultCallback 又名 可选 gt static func signUp username Str
  • iOS 显示 UIImage 全屏并启用缩放(捏合和双击)

    我有一个UIImage从相机捕获UIImagePickerController 现在 在用户单击它之后 我希望它显示全屏 并且能够使用捏合手势进行放大和缩小 还可以使用双击手势来放大特定区域 换句话说 我想模拟ios默认图像浏览器的功能 我
  • 使 Swift 类符合需要 init 的协议

    我有以下内容protocol in Swift protocol FooConvertible typealias FooType init foo FooType 我会做Swift类在类定义中符合它 class Bar FooConver
  • 如何在 SKAction 中途反转精灵所遵循的路径方向?

    我有一个 SKSpriteNode 它使用 SKAction 沿着圆形路径移动 create the path our sprite will travel along let circlePath CGPathCreateWithElli
  • 为什么快速枚举中的可选项会导致无限循环?

    评估以下代码 我希望打印一次Hello World 相反 它会导致无限循环 有人可以解释为什么吗 let array what for text String in array print Hello World 删除可选的 显然让它只打印
  • 即席分发失败

    我在一家大公司工作 正在开发一个适用于 iOS 5 的 iOS 应用程序 分发应用程序的唯一方式是通过临时部署 我拥有自己的服务器已经有一段时间了 由 o2switch 法国托管商 托管 当我开始开发时 我们使用它来部署应用程序以进行 Be
  • XC测试元组

    我正在尝试构建一个单元测试 如下所示 region is a Double Double tuple XCTAssertEqual region 0 0 200 0 但 Xcode 给我一个错误 Cannot invoke XCTAsser
  • 未安装的应用程序的URL方案

    简单的问题 我正在开发一个将注册自己的 URL 方案的应用程序 我计划通过人们最喜欢的 QRCode 阅读器使用 QRCode 启动该应用程序 我的问题 如果我的应用程序尚未安装在他们的 iPhone iPad 上 会发生什么 他们会被引导
  • iOS 复合谓词

    我正在编写一个具有照片数据库的应用程序 每张照片都有多个与之关联的标签 并且该应用程序有一个带有大量切换的搜索页面 允许用户仅根据他们感兴趣的标签搜索照片 每个标签都存储了integerID 是因为它们对应于外部数据库的 ID 所以我尝试简
  • 连接到 Apple Music

    所以我尝试使用 React Native 应用程序从 iOS 设备连接到 Apple Music 有一个 API 可以执行相同的操作 但我需要从 storekit 框架调用一个函数 提出个性化请求 苹果音乐API https develop
  • Xcode 本地化设置中没有加号或减号按钮

    我需要在两天内翻译 iOS 应用程序 但我的 XCode 版本 4 4 和 4 5 Developer Preview 都没有给我添加其他语言的选项 我只能选择单击 Make localized 但我只能选择英语 选择它后 Xcode 中的
  • 将 Facebook 图片 URL 上传到 Firebase 存储

    我正在尝试将用户的 Facebook 个人资料图片上传到 Firebase 存储 let dictionary result as NSDictionary let data dictionary objectForKey data let
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons
  • Swift 3 和 Xcode8 - init 的使用不明确

    在我安装 Xcode 8 并将项目转换为 Swift 3 之前 以下行没问题 现在转换后看起来像这样 let valueData Data Data bytes UnsafePointer
  • 如何将 NSAppTransportSecurity 添加到 Cordova 项目

    我正在从事一个 ionic cordova 项目 该应用程序需要配置 iOS 9 版本的应用程序传输安全例外 有谁知道如何将以下配置添加到 cordova 项目配置文件中 配置 xml

随机推荐

  • 如何将 json 加载到我的 angular.js ng-model 中?

    我有一个我认为可能是一个非常明显的问题 但我无法在任何地方找到答案 我只是想将一些 JSON 数据从我的服务器加载到客户端 现在 我正在使用 JQuery 通过 AJAX 调用加载它 代码如下 它位于 html 文件中 到目前为止它有效 但
  • WPF 工具包数据网格单元格文本换行

    我的 WPF 数据网格的列是固定宽度的 这意味着行中的长文本被截断 我怎样才能让文字换行 如果您使用的是 DataGridTextColumn 则需要定义 DataGridTextColumn ElementStyle 的样式
  • Reactjs - 如何将值从子组件传递到祖父组件?

    下面是在reactjs中将值从子组件传递到父组件的正确示例 App jsx import React from react class App extends React Component constructor props super
  • 如何访问其他程序内存中的结构?

    我知道如何在 C 中导入和使用读 写进程内存 我正在做游戏训练师 我需要 直接 访问转换为结构的其他进程内存 我可以使用 readprocessmemory 或 writeprocessmemory 但这需要很多时间来实现许多结构 C 中有
  • 在旧的 Borland C 中使用 Visual C++ DLL?

    我必须支持使用旧的 Borland 编译器 BC 5 用 C 编写的旧应用程序 不幸的是 我们使用的旧 TCP IP 库开始显示出它的年龄 并且在 Vista 和 Win7 机器上出现问题 我有一个可用于 MS Visual C 的新函数库
  • 如何提取ctree()终端节点的分裂规则

    我有一个包含 6 个分类变量的数据集 级别范围从 5 到 28 我已获得以下输出 ctree 派对包 有 17 个终端节点 我已关注 Galled 的输入ctree 如何获取每个终端节点的分裂条件列表 达到我想要的输出 但是 我在运行代码时
  • $resource `get` 函数如何在 AngularJS 中同步工作?

    我当时正在看thisAngularJS 教程描述了如何使用 Angular 资源连接 Twitter 视频教程 这是在示例控制器中设置的资源 scope twitter resource http twitter com action ac
  • 使用 PHP 获取 TrueType 中可用的字符

    如何获取 TrueType 字体中所有可用字符的列表 使用 PHP PHP 似乎没有任何可用的扩展directly with FreeType 处理 TrueType 字体的统治性开源库 您可能需要使用适当的库来使用另一种语言 例如Perl
  • ModuleNotFoundError:没有名为“django”的模块

    我正在尝试在线制作一个项目 但出现一个我无法解决的错误 我已经安装了 django 但服务器给我这个错误 Virtualenv 也处于活动状态 2017 09 25 20 10 27 471 2017 09 25 20 10 30 892
  • 无法将 ListBox.ObjectCollection 转换为(类型化)数组

    我想将项目转换为字符串数组或我用来填充 ListBox DataSource 的类型 该类型已覆盖 ToString 但我似乎无法将其转换 甚至无法转换为 String String a String ListBox1 Items Cont
  • Cognito 用户池触发器上的 AWS Lambda 错误

    我正在尝试将一条记录插入到 DynamoDB 中 调用 Cognito 用户池的 预注册 触发器 出于测试目的 Lambda 函数非常简单 但在 AWSCognito CognitoIdentityServiceProvider Cogni
  • 刚刚开始出现 AIR SQLite 错误 3182 发生磁盘 I/O 错误

    我们的软件有一个新的测试版 进行了一些更改 但不是围绕我们的数据库层 我们刚刚开始在服务器日志中报告错误 3128 似乎一旦发生 只要应用程序打开 它就会发生 代码中最明显的部分是我们通过 SQLite 每秒记录数据的部分 仅这个月我们的服
  • 仅在 Swift 4.2 中上传带有多部分表单数据的图像

    我尝试了很多解决方案 我得到了一些 但他们正在使用objective c code在某处 我只需要解决方案swift 4 2并且没有任何第三方 例如Alamofire 使用它工作正常objective c类 我已经能够仅使用标头和其他参数以
  • 在 C# 中,创建新字节数组时字节的默认值是多少?

    这个问题的答案已经超出了我的搜索范围 当我这样做时 var authToken new byte 16 authToken 0 的值是多少 它是零还是零 默认值为 0 有关默认值的更多信息 http msdn microsoft com e
  • NSTableView + 删除键

    我正在寻找一种简单的解决方案 通过按删除键来删除 NSTableView 行 我在谷歌搜索时看到的都是这样的答案 http likethought com lockfocus 2008 04 a slightly improved nsta
  • EJB 3.1 容器管理的并发与同步

    我已经开始阅读有关单例会话 bean 和用于采用容器管理并发的注释的内容 与简单地使用 同步 关键字相比 我没有看到这样做的好处 所以我怀疑我遗漏了一些重要的东西 考虑一下书中的这个例子 企业 JavaBeans 3 1 作者 Rubing
  • 在pandas中找到每组中最小值大于值的行

    我有一个数据框 如下所示 pd DataFrame A C1 C1 C1 C1 C2 C2 C2 C2 C3 C3 C3 C3 B 1 4 8 9 1 3 8 9 1 4 7 0 Out 40 A B 0 C1 1 1 C1 4 2 C1
  • python查找字符串中重复的子字符串[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在Python中寻找一个函数 您可以在其中给出一个字符串作为输入 其中某个单词已重复多次 直到达到一定的长度 那么输出就是那个词 重复的单词不一定全部重复 也有可能根本没有重
  • 从 JAXB 泛型中删除 xsi:type、xmlns:xs 和 xmlns:xsi

    使用 JAXB 时 我想在使用泛型时从 XML 元素中删除多余的命名空间 类型 我该怎么做或者我做错了什么 我想使用泛型 这样我只需编写一次代码块 示例代码 public static void main String args try T
  • 使用 UserDefaults 保存和检索 bool

    我正在尝试保存一个bool从 UISwitch 到 UserDefaults 的值 并在另一个视图中检索它 但是 我尝试遵循多个教程和堆栈答案 但似乎都不起作用 这就是我保存它的方式 class SettingsViewController