NSDateFormatter produkujący (null) SQLite i iOS 5.1

Może ktoś może pomóc wyjaśnić, dlaczego otrzymuję wartość null podczas konwersji łańcucha znaków na datę. Wszystko wygląda dobrze, ale oczywiście czegoś tu brakuje.

Jakieś tło:

Ta aplikacja na iPada będzie używana w różnych krajach i będę musiał wykonać obliczenia w dniu, aby sprawdzić, czy minęło 90 dni od ostatniego zalogowania użytkownika.

Mam bazę danych SQLite z polem DateLastIn ustawionym jako TEKST

Mój obiekt ma właściwość DateLastIn ustawioną jako NSDate

Wypełniając mój obiekt rekordu, ustawiłem NSDateFormatter jako taki ..

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];  // SQLite default date format

Następnie czytam w DateLastIn (przy użyciu opakowania FMDB dla SQLite).

        // test SQLite as String
        NSString *testDate = [results stringForColumn:@"DateLastIn"];
        NSLog(@"DateLastIn straight from DB (string) shows %@", testDate);

Wynik:DateLastIn prosto z DB (string) pokazuje 2012-04-23 18:20:51

Jak dotąd wszystko jest dobrze. Następnie testuję konwersję tego na obiekt NSDate, np

        NSDate *aDate = [[NSDate alloc] init];
        aDate = [formatter dateFromString:testDate];
        NSLog(@"Using formmater on string date results in: %@", aDate);

Wynik:Używanie formmatera na dacie łańcucha powoduje: (null)

Próbowałem DATETIME w SQLite, próbowałem użyć NSString w moim obiekcie zamiast NSDate i wydaje mi się, że krążę w kółko.

Każda pomoc bardzo doceniana.

questionAnswers(2)

yourAnswerToTheQuestion