如何持久和加载NSDatePicker日期值

时间:2018-09-21 10:16:27

标签: swift nsdateformatter nsdatepicker

我对MacO的开发非常陌生,因此如果这是一个简单的问题,我深表歉意:

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

视图在图形模式下具有NSDatePicker,并且该视图可以处于“添加”或“编辑”模式,即从SQlite添加或检索和更新数据

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

我的问题是应该保留datePicker的什么属性-datePicker.stringValue或datepicker.dateValue?

如果它是.stringValue,是否可以在“编辑”视图上显示datePicker时简单地加载它?

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

SQlite没有日期类型,因此我正在使用文本字段来存储日期

1 个答案:

答案 0 :(得分:1)

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

要将日期转换为两次使用:

let interval = aDate.timeIntervalSinceReferenceDate

(其中aDateDate对象,而interval是Double,也称为TimeInterval

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

let aDate = Date(timeIntervalSinceReferenceDate: interval)

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