如何持久化和加载 NSDatePicker 日期值

How to persist and load NSDatePicker date values

我是 MacOs 开发的新手,如果这是一个简单的问题,我深表歉意:

我有一个应用程序可以将数据存储和加载到 SQlite 数据库。

视图在图形模式下有一个 NSDatePicker,视图可以处于 'add' 或 'edit' 模式,即从 SQlite 添加或检索和更新数据

另一个视图有一个 NSTableView,其中一列是我想从 SQlite 加载到列中的日期。

我的问题是我应该坚持 datePicker 的 属性 - datePicker.stringValue 或 datepicker.dateValue?

如果它是 .stringValue,我可以在 'edit' 视图上显示 datePicker 时简单地加载它吗?

如果是 .dateValue,我如何获取 tableView 的值? (使用 NSDateFormatter?)

SQlite 没有日期类型,所以我使用文本字段来存储日期

将日期来回转换为字符串很麻烦,而且有些脆弱。我建议改为将其保存为浮点值。

要将日期转换为双重用途:

let interval = aDate.timeIntervalSinceReferenceDate

(其中aDate是一个Date对象,interval是一个Double,a.k.a是一个TimeInterval)

相反,将浮点值转换回 Date:

let aDate = Date(timeIntervalSinceReferenceDate: interval)

您应该能够将生成的 interval 浮点值保存到 SQL 数据库中。对浮点值使用双精度。