在 UserDefaults 中展开时发现 nil

found nil while unwrapping in UserDefaults

我想将日期保存到 userDefaults。

按钮(动作:{

                var date = Date()
                if date != nil{
                    date = UserDefaults.standard.object(forKey: "myDate") as! Date
                }
                print(date)
            }) {
            ........(design stuff)
            }

也进行了测试:let date = UserDefaults.standard.object(forKey: "myDate") as!日期

但是在展开可选值时,我总是意外地发现 nil。

在使用 ! 强制施放之前,检查对象在 UserDefaults 中是否可用。始终使用 if letguard let.

安全地转换可选值

保存日期:

UserDefaults.standard.set(myDate, forKey: "myDate")

检索日期:

if let object = UserDefaults.standard.object(forKey: "myDate") as? Date {
    date = object
} else {
    print("No object for key myDate in UserDefaults")
}