崩潰我有一個陣列中存儲不同的日期:排序在日期順序的陣列使得在設備
var Dates_Array = [String]()
然後我有將字符串轉換爲的NSDate的延伸:
extension String{
var StringToDate:NSDate {
let df = NSDateFormatter()
df.dateStyle = .LongStyle
df.timeStyle = .NoStyle
return (df.dateFromString(self))!
}
}
這是代碼排序數組:
self.Ordered_Dates_Array = self.Dates_Array.sort { ($0).StringToDate.compare(($1).StringToDate) == .OrderedAscending}
在模擬器中,所有這些代碼都按預期工作。但是,當我跑了它的設備上的應用程序崩潰,這裏是錯誤消息的圖像:
當我註釋掉排序數組一切正常的代碼。那麼是什麼原因導致我的應用在設備上崩潰,而不是模擬器?
編輯:
這是Dates_Array樣子:
[ 「2016年12月24日」, 「2016年9月14日」, 「2016年9月19日」,「2016年11月19日「]
我的設備時區是倫敦。語言=英語和日曆=格里高利。
無,你有沒有地方,一行一行,只是檢查在哪裏 –
你的一個或多個字符串不能使用日期格式化器轉換爲日期。順便說一句 - 這種方法很少有效,因爲每個區域設置的'dateStyle'都會不同,甚至根據用戶在Settings設置中的設置。 – rmaddy
那麼爲什麼一個或多個字符串不能轉換爲日期呢?爲什麼會在模擬器中工作,但不在設備上?如果所有的日期都是長時間的,那麼它應該仍然有效? –