1

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

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

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

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

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

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

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

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

4

1 回答 1

1

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

要将日期转换为 Double 使用:

let interval = aDate.timeIntervalSinceReferenceDate

(对象在哪里,并且aDate是Double,又名 a )DateintervalTimeInterval

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

let aDate = Date(timeIntervalSinceReferenceDate: interval)

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

于 2018-09-21T23:33:43.217 回答