我创建了两个日期选择器,用户可以在其中输入所需的日期和时间。
当用户单击“保存”按钮时,使用以下代码将输入的值保存到Core Data中:
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle
let timeFormatter = NSDateFormatter()
timeFormatter.dateStyle = NSDateFormatterStyle.NoStyle
timeFormatter.timeStyle = NSDateFormatterStyle.ShortStyle
dateOfEntry = dateFormatter.stringFromDate(entryDate.date) //entryDate is the name of the IBOutlet of the first date picker.
timeStarted = timeFormatter.stringFromDate(startTime.date) //startTime is the name of the IBOutlet of the second date picker.
这将日期保存为:2015年11月4日 时间为:上午11:15 然后我使用
保存到Core Data中 entry.setValue(dateOfEntry, forKey: "date")
entry.setValue(timeStarted, forKey: "startTime")
我想知道当用户打开不同的视图控制器时,是否可以使用这些存储的值来稍后设置单独的设置日期选择器的初始值。
答案 0 :(得分:0)
目前,您正在选择人们使用选择器进行的日期和时间选择,并将这些选项转换为字符串,并将核心数据模型保存为两个字符串。
此方法可能存在的问题是,stringFromDate
使用设备上的本地设置(国家/地区,语言)来格式化该字符串,因此,例如,在美国运行该应用的用户将采用与德国。
您可能想要做的是将日期选择器和时间选择器中的选项合并到一个NSDate
中,然后将该组合日期直接保存在核心数据中。
当您创建实体时,它会提前做一些工作,但您会获得一些好处: