Die Methode "dateFromString" von iPhone OS 4.0 von NSDateFormatter gibt nil zurück

8

Ich verwende folgenden Code & amp; es funktioniert perfekt in iPhone OS 3.2

%Vor%

Aber wenn ich versuchte, den gleichen Code I iPhone OS 4.0 zu verwenden, war das dateObj Null.

Der Grund ist:

  

- (id)init Methode für NSDateFormatter ist nur verfügbar in iPhone OS 2.0 bis iPhone OS 3.2.   Es ist in iPhone OS 4.0 veraltet.

Was ist die Lösung dafür? Wie starte ich NSDateFormater? Was ist die Alternative?

    
Nic 09.07.2010, 11:39
quelle

3 Antworten

2

- (id)init ist für NSDateFormatter in iOS4 nicht veraltet. Das ist ein Fehler in der Dokumentation.

    
Axel 11.07.2010 09:45
quelle
2

[NSDateFormatter dateFormatFromTemplate: Optionen: locale:] funktioniert möglicherweise besser

%Vor%

// "M / d h: mm a" // US-amerikanisches Format für US-Gebietsschema zurückgegeben

%Vor%     
Thom Mahoney 11.07.2010 20:12
quelle
2

In iOS2.x und 3.x gibt die Funktion NSDate description / datefromstring zurück: 2010-09-24 17:30:00 - 0700

in iOS 4.1 gibt es Folgendes zurück: 2010-09-25 00:30:00 GMT

Sie könnten einen Fehler an Apple senden. Es folgt nicht einmal der Spezifikation, die besagt, dass 0000 für den Offset zurückgegeben werden sollte. Es gibt also nicht nur lokales Datum zurück, es verwendet auch GMT anstelle eines Offset. Es scheint, dass dieses neue Format nicht mit NSDateFormatter-Methoden kompatibel ist.

Ich glaube auch nicht, dass es ein Fehler in der Dokumentation ist. Im API-Diff-Dokument wird angegeben, dass init für NSDateFormatter entfernt wurde.

    
MGC 15.10.2010 04:49
quelle

Tags und Links