從String建立Date在真機執行崩潰
首先,真機與模擬器的最大的區別在於
- iOS 真機是大小寫敏感的。
- 真機和模擬器的Local設定可能會不同。模擬器的預設local是 "en_US",而真機就視地區而定了。
所以用一下的程式碼在真機上執行就可能會出錯了
func createDate(fromString string: String) -> Date {
let formatter = DateFormatter()
formatter.dateFormat = "EEE MMM dd HH:mm:ss ZZZ yyyy"
let date = formatter.date(from: string)
return date! //fatal error: unexpectedly found nil while unwrapping an Optional value
}
所以改成
func regularDate(fromString str: String) -> Date {
let formatter = DateFormatter()
formatter.dateFormat = "EEE MMM dd HH:mm:ss ZZZ yyyy"
formatter.locale = Locale(identifier: "en_US")
formatter.timeZone = TimeZone(identifier: "UTC") // 最好這也加上去
let date = formatter.date(from: str)
return date!
}
相關文章
- 執行緒崩潰為什麼不會導致 JVM 崩潰執行緒JVM
- WkWebView 令人崩潰的崩潰WebView
- 分析為什麼有時在非UI執行緒更新UI會崩潰UI執行緒
- 解決PythonWin執行時崩潰的辦法Python
- InnoDB 崩潰恢復機制
- 突發:當機崩潰OOMOOM
- 總結:iOS中多執行緒的經典崩潰iOS執行緒
- Node出錯導致執行崩潰的解決方案
- WKWebView崩潰WebView
- Redis崩潰Redis
- 當主執行緒崩潰而其它執行緒繼續執行時發生什麼(2)(轉)執行緒
- 當主執行緒崩潰而其它執行緒繼續執行時發生什麼(1)(轉)執行緒
- Win10執行英雄聯盟出現崩潰怎麼辦?Win10
- Crittercism:KitKat崩潰率0.7% iOS 7.1崩潰率1.6%iOS
- 如何使Java虛擬機器崩潰Java虛擬機
- APP防崩潰APP
- WWDC 2018:理解崩潰以及崩潰日誌
- 記錄一個LifeCycle 多執行緒使用導致的崩潰執行緒
- 案例解析:執行緒池使用不當導致的系統崩潰執行緒
- HttpClient引發的執行緒數過多導致應用崩潰HTTPclient執行緒應用崩潰
- Win10系統執行lol英雄聯盟崩潰如何解決Win10
- MinGW GCC 5.3.0 編譯OpenCV4.5.5 執行到imshow時崩潰GC編譯OpenCV
- Crittercism:iOS 8崩潰率已從3.6%降至2.6%iOS
- 黑客通過崩潰銀行的計算機嘗試入侵 SWIFT黑客計算機Swift
- iOS Crash不崩潰iOS
- linux mint 崩潰Linux
- ios 崩潰集錦iOS
- app 崩潰的原因APP
- iOS應用崩潰了,如何透過崩潰手機連線電腦查詢日誌方法iOS應用崩潰
- 建立物化檢視導致資料庫例項崩潰資料庫
- 讓 Chrome 崩潰的一行 CSS 程式碼ChromeCSS
- Win10系統執行迅雷軟體頻繁崩潰的解決方法Win10
- 從傲遊崩潰淺談網路時代新威脅
- IOS 崩潰日誌分析iOS
- Invalid double崩潰分析
- Mac下Android studio 執行真機MacAndroid
- 伺服器停機或者崩潰的原因有哪些伺服器
- 直接用 appium 可以連線真機,用 pycharm 執行指令碼時報錯 “'platformVersion' must be of type string”APPPyCharm指令碼Platform