我正在尝试从Eureka DateTimeRow收集日期值,然后将其存储到Firebase中,但是要存储它,我需要将其设置为字符串格式。我尝试了这种转换,但收到错误“无法将类型'Foundation.Date'(0x108af27e8)的值强制转换为'Swift.String'(0x1086e99f8)”。 我想知道我的转换方法中是否缺少某些东西。
DateTimeRow:
<<< DateTimeRow("startDate"){
$0.title = "Start Date"
$0.value = NSDate() as Date
$0.cellUpdate { (cell, row) in
cell.datePicker.minimumDate = Date()
}
$0.onChange { row in
start = row.value!
}
}
代码获取Erueka表单的值并进行转换:
let valuesDictionary = form.values()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
let formattedDate = formatter.date(from: valuesDictionary["startDate"] as! String)
谢谢所有反馈。
答案 0 :(得分:3)
要将{em>从从Date
(Eureka)转换为从String
(Firebase)时,应使用{{3 DateFormatter
的}}方法,而您尝试使用string(from:)
的方法。
// Date to String func string(from date: Date) -> String // String to Date func date(from string: String) -> Date?