Ich habe ein Datum in einer früheren Version meiner Anwendung in NSUserDefaults in einem bestimmten Datumsformat als Zeichenfolge in einem Array gespeichert.So konvertieren Sie Zeichenfolge in ein anderes Datumsformat ohne Fehler
Mein Problem viele meiner App ist seit dieser Version geändert, und jetzt will ich das gespeicherte Datum der letzten Version auf das Datum-Format konvertieren ich von jetzt an
Hier verwenden werden ist der Code, den ich lustig.
if userDefault.objectForKey("day") == nil {
return
} else {
// Add the first date created from previous version
let day = userDefault.objectForKey("day") as? String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date: NSDate = dateFormatter.dateFromString(day!)!
Der Fehler 'fataler Fehler: unerwartet null gefunden, während ein optionaler Wert auspacken' kommt auf dieser Linie
let date: NSDate = dateFormatter.dateFromString(day!)!
Gewinde 1: EXC_BREAKPOINT (code = 1 ....
einfach Ihren Code überprüft, funktioniert gut und ändert das Datumsformat. Sind Sie sicher, dass etwas von Ihnen NSUserDefaults als "Tag" zurückgegeben wird? –
Nun, ich erwarte etwas. Wenn ich eine vorherige Version aus dem App Store herunterlade, ein Datum darin festlege und es dann über Xcode auf die aktuelle Version aktualisiere, erscheint der obige Fehler – Khoury
Nun, man kann nicht einfach etwas erwarten. Ich bin mir ziemlich sicher, dass in NSUserDefaults nichts mit key 'day' gespeichert ist. Was Sie tun können, ist, dass Sie bei Ihrer nächsten Version Ihren Schlüssel ändern und ein vorab gespeichertes Datum mit dem aktuellen Arbeitsformat senden und dann dem Benutzer erlauben, es zu ändern. –