Der folgende Code stürzt in 8 XCode, wenn sie auf iOS 10 läuft (nicht auf früheren iOS-Versionen abstürzen):NSDateFormatter Rückkehr null in IOS10
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SS'Z'"
dateFormatter.timeZone = NSTimeZone(name: "UTC")
dateFormatter.locale = NSLocale.currentLocale()
let date = dateFormatter.dateFromString("2016-09-04T08:32:46.195514289Z")!
Der Absturz passiert, weil die Datumsformatierer gibt nil zurück. Ich habe versucht, das DateFormat zu spielen und zu ändern, aber das Ergebnis ist immer Null. Hat sich in iOS 10 etwas geändert?
EDIT: gleiche Code funktioniert in der Storyboard, wenn sie mit Swift 3. Laufen Es scheint, dass das Problem mit der Swift 2.3 und iOS 10
kann nicht reproduzieren. Wenn Sie jedoch mit festen Datumsformaten arbeiten, ist es immer eine gute Idee, das Gebietsschema auf "en_US_POSIX" und nicht auf das aktuelle Gebietsschema zu setzen. Das könnte dein Problem lösen. –
In Bezug auf die aktuellen Antworten: Bitte beachten Sie, dass "es für mich funktioniert" nicht als eine akzeptable Antwort gilt, vergleiche http://meta.stackoverflow.com/questions/277923/are-your-code-works-fine-for -me-Antworten-akzeptabel. –
Selbst mit Swift 2.3 kann ich nicht reproduzieren. Haben Sie das POSIX-Gebietsschema ausprobiert? –