【发布时间】:2019-10-03 21:21:31
【问题描述】:
有一天,该应用程序成功了。第二天我更新到 Xcode 11,现在应用程序在图片中的第 27 行(执行第 15 行时)出现“意外发现 nil”崩溃。
我问了我的同事,他还没有 Xcode 11,他没有崩溃。我们在同一个分支/提交......一切。
有什么建议吗?有什么办法吗?
我的代码:
// ticket.timeOrdered == "2019-10-03 22:54:57 +0000"
let ticketDate = ticket.timeOrdered.asCrazyDate.timeIntervalSince1970
extension String {
var asCrazyDate: Date {
let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss +zzzz"
dateFormatterGet.timeZone = .current
return dateFormatterGet.date(from: self)!
}
}
【问题讨论】:
-
顺便说一句 - 根本不需要您的
asCrazyDate方法。只需通过消除不必要的字符串插值来修复getDate()。 -
这个问题的目的是为什么它适用于 xcode 10 而不是 xcode 11。我展示的代码是对正在发生的事情的重构“摘要”。我刚刚卸载了 Xcode 11 并重新安装了 Xcode 10.3。现在一切正常。
-
"yyyy-MM-dd HH:mm:ss Z"可以。但也要设置你的locale。