Umwandlung von string zu NSDate Thema: [__NSDate Länge] unbekannter gewählt
indexNumber.row
ist ein Datum wie 2012-03-09 23:00:00 +0000
. Ich habe versucht, eine Handvoll von verschiedenen Möglichkeiten, um mein Datum in ein NSDate
, aber ich erhalte die Titel Fehler.
NSString *inputString = [self.measurements objectAtIndex:indexNumber.row];
//Convert string to date object
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:inputString ];
NSLog(@"date format is: %@", date);
Irgendwelche Ideen, warum bekomme ich die folgende Fehlermeldung:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDate Länge]: unrecognized selector geschickt Instanz 0x6ca0c60'
- Welche Fehler haben Sie, könnten Sie ein bisschen genauer sein?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erhalten Sie diesen Fehler, weil Sie auf der Durchreise sind eine
NSDate
ObjektdateFromString:
.Hinzufügen eines
NSLog
und Sie werden sehen, dass:Auch, hier ist, wie Sie zum reproduzieren des Fehlers:
Das bedeutet, dass das array
self.measurements
enthältNSDate
Objekte und nichtNSString
Objekte.Wenn Sie korrigieren Sie Ihre aktuellen problem, werden Sie wahrscheinlich erleben eine neue, weil Sie nicht das korrekte Datumsformat. Zum Parsen von Datums-Zeichenketten der Art:
2012-03-09 23:00:00 +0000
verwenden Sie das folgende Datumsformat:Entweder als sch schlägt, oder wenn Sie brauchen nicht die Zeit, Sie kann nur kürzen Sie die Zeichenfolge, die Sie füttern, um Ihre dateFormatter. E. g. etwa so:
Wo 9 ist ein index, bis zu dem Sie wollen, nehmen Sie ein Stück Schnur.
nil
Datum und nicht die Fehler, die er erwähnt.