快速将Eureka日期转换为String以存储Firebase

时间:2018-07-07 22:54:18

标签: swift firebase eureka-forms

我正在尝试从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)

谢谢所有反馈。

1 个答案:

答案 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?