Swift 将 Eureka 日期转换为 String 以进行 firebase 存储

标签 swift firebase eureka-forms

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

谢谢大家的反馈。

最佳答案

当您想将 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?

关于Swift 将 Eureka 日期转换为 String 以进行 firebase 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51227513/

相关文章:

swift - 当宽度为设备宽度且高度为原始图像的高度时,UIImageView 中的图像将被裁剪

java - 谷歌服务.json : open failed: ENOENT (No such file or directory)

java - 如何让我的回收器适配器检索发送到 firebase 数据库的消息?

swift2 - 如何将图像添加到按钮行 Swift Eureka

ios - AVAudioEngine 麦克风启动时崩溃

swift - NSPopover OS X 应用程序

swift - 无法使用采样器显示纹理

android - 我的程序无法从 Firebase 中的 addChildEventListener 获得结果

ios - 使用多个 SelectableSections 克服重复标签约束

swift - 在现有部分创建 PushRow 并在运行时传递值