在swift 3中保存变量和布尔值[关闭]

Posted

技术标签:

【中文标题】在swift 3中保存变量和布尔值[关闭]【英文标题】:Saving variables and booleans in swift 3 [closed] 【发布时间】:2017-07-27 13:09:45 【问题描述】:

我是 ios 开发新手,目前正在创建我的第一个应用程序,其核心功能是计时器

我有几个不同的变量(例如计时器的开始时间)和计时器是否正在运行的布尔值。

有没有一种方法可以在应用程序关闭时保存计时器开始时间或布尔值?

我正在使用 NSDate 来存储开始时间并将当前时间与此时间进行比较,以生成经过的时间值。

提前致谢!

【问题讨论】:

developer.apple.com/documentation/foundation/userdefaultsdeveloper.apple.com/library/content/documentation/Cocoa/…developer.apple.com/library/content/documentation/Security/… 【参考方案1】:

Swift 3.x

设置和获取 Date 对象

UserDefaults.standard.set(Date(), forKey: "lastDate")
UserDefaults.standard.object(forKey: "lastDate") as? Date

设置和获取 Bool 对象

UserDefaults.standard.set(true, forKey: "isOn")
UserDefaults.standard.bool(forKey: "isOn")

【讨论】:

布尔 getter 错误。这是UserDefaults.standard.bool(forKey: "isOn") 是的,你可以说,但由于 Bool,你也可以进行类型转换 而且,我也在更新答案谢谢提醒我 @vadian 在我看来,最好使用返回 Any 的 getter 来检索布尔值,因为即使键不存在,布尔 getter 也会返回 false,而 @在这种情况下,987654326@ getter 返回 nil。您可以安全地将返回 Any 的 getter 的结果转换为 bool。 @DávidPásztor 一个布尔值应该有两种状态:truefalse(不是也许又名nil)。在几乎所有情况下false 都可以被视为无值。如果您确实需要nil 作为第三种状态,请使用另一种类型。请记住:非可选类型永远不会导致崩溃。

以上是关于在swift 3中保存变量和布尔值[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

UISwitch 在值更改 IOS Swift 时崩溃

左或右应表示为布尔值还是枚举[关闭]

如何在 Swift 中使用计时器切换布尔值

Swift 中基本布尔值的默认值是多少?

布尔值是不是与 WCF 合同中的布尔值相同 [关闭]

那些属于布尔类型??