Быстрое преобразование даты Eureka в строку для хранения в firebase

Я пытаюсь получить значение даты из Eureka DateTimeRow, чтобы затем сохранить его в Firebase, но для его хранения мне нужно, чтобы оно было в строковом формате. Я попытался выполнить это преобразование, но получаю сообщение об ошибке «Не удалось преобразовать значение типа Foundation.Date (0x108af27e8) в Swift.String (0x1086e99f8)». Я хотел бы знать, есть ли что-то, чего мне не хватает в моем методе преобразования.

ДатаВремяСтрока:

<<< 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)

Спасибо, все отзывы приветствуются.


person Ace    schedule 07.07.2018    source источник


Ответы (1)


Если вы хотите преобразовать из Date (Eureka) в в String (Firebase), вы должны использовать string(from:) метода DateFormatter, тогда как вы пытаетесь использовать date(from:).

// Date to String
func string(from date: Date) -> String

// String to Date
func date(from string: String) -> Date?
person dfrib    schedule 07.07.2018