无法从UserDefaults Swift中检索Date对象

kin*_*rth 1 date swift userdefaults

我想将Date对象发布并检索到UserDefaults.standard。到目前为止,我使用发布日期对象,UserDefaults.standard.set(firstDate, forKey: "Date")并使用先前声明为Date对象的inDate = UserDefaults.standard.object(forKey: "Date")where 检索它inDate

但是,当我执行此操作时,会得到一个错误 Cannot assign value of type 'Date' to type 'Any',如果我尝试强制转换为as!Date类型,则程序将崩溃,并且如果我有条件地执行操作(as?),inDate则该操作将为nil。任何帮助是极大的赞赏。

Adr*_*ian 5

要在中为日期对象设置值,UserDefaults请按以下步骤操作:

let yourDate = Date() // current date
UserDefaults.standard.set(yourDate, forKey: "YourDefaultKey")
Run Code Online (Sandbox Code Playgroud)

要检索它,可以使用以下命令:

let yourDate = UserDefaults.standard.value(forKey: "YourDefaultKey") as! Date
Run Code Online (Sandbox Code Playgroud)