Ich habe ein kleines Problem mit NSDateFormatter auf dem Gerät eines Benutzers (Rückgabe Nil beim Parsen einer Zeichenfolge) und funktioniert perfekt, wenn ich es lokal ausführen (entweder im Simulator oder auf mein Gerät).Inkonsistentes Verhalten mit NSDateFormatter auf zwei verschiedenen Geräten
Ich versuche auszuschließen, was einen Unterschied in diesem Verhalten verursachen könnte. Mein erster Gedanke war das Gebietsschema, aber ich habe versucht, es explizit einzustellen, um sicherzustellen, dass immer dasselbe Gebietsschema verwendet wird, aber das macht keinen Unterschied.
Hier ist der Code:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
[dateFormatter setLocale:locale];
[locale release];
NSDate *theDate = [dateFormatter dateFromString:dateString];
NSLog(@"PARSING DATE %@ AS %@", dateString, theDate);
Auf der fehlerhafte Gerät, erhalte ich:
PARSING DATE 2010-11-28T20:30:49-0000 AS (null)
Aber lokal erhalte ich:
PARSING DATE 2010-11-28T20:30:49-0000 AS 2010-11-28 20:30:49 +0000
Dies wird mich verrückt, bin Ich vermisse etwas anderes?
Ich bin 4.2 lokal (Simulator) und auf meinem Gerät (ein iPhone 4). Das fehlerhafte Gerät ist ein 3GS mit 4.2.1.
Alle Ideen würden sehr geschätzt werden!
Da Sie die Formatzeichenfolge explizit festgelegt haben, haben Sie versucht, den Gebietsschema-Einstellungscode zu entfernen? – Costique
Ist auf dem Gerät die Einstellung "24-Stunden-Zeit" aktiviert? Weitere Informationen finden Sie unter [Apple QA1480] (http://developer.apple.com/library/ios/#qa/qa2010/qa1480.html). – Anna
Ja, ich habe dies versucht, ohne dass das Gebietsschema wie oben eingestellt wurde. –