【发布时间】:2018-09-01 22:25:57
【问题描述】:
我正在为某个生日文本字段设置日期
@objc func birthdayDatePickerValueChanged(sender: UIDatePicker) {
let formatter = DateFormatter()
formatter.dateStyle = .medium
formatter.timeStyle = .none
birthdayTextField.text = formatter.string(from: sender.date)
}
现在这个文本字段值存储在 coredata 中的一个字符串属性中。 coredata 中可以存储许多这样的生日日期。现在,当我从数据库中获取这些日期时,我想在表格视图中仅显示下个月的日期。
如何实现...?
【问题讨论】:
-
为什么将日期存储为字符串?您应该将其存储为日期对象,而不是字符串。
-
.@Psytho 是否有必要始终将日期存储为日期对象..?只是问,因为我不确定....
-
没有。但是这样做可以让您轻松知道哪些日期在一个月内。
-
这不是必需的,但它更有效,因为您可以轻松地从使用谓词以任何方式排序/过滤的 CoreData 中获取数据。
-
好的..到目前为止,这就是我保存到 coredata 的方式...
newProdObj.setValue(self.birthdayTextField.text, forKey: "birthday")。要保存为nsdate对象,将 coredata 属性(在这种情况下为birthday)从string更改为Date就足够了,否则是否需要更改其他任何内容...?
标签: ios swift core-data nsdate