如何持久化和加载 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 数据库中。对浮点值使用双精度。
我是 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 数据库中。对浮点值使用双精度。