NSDateFormatter produzindo (nulo) SQLite e iOS 5.1

Talvez alguém possa ajudar a explicar porque estou obtendo um valor nulo ao converter uma string em uma data. Tudo parece certo, mas obviamente estou perdendo alguma coisa aqui.

Algum fundo:

Este aplicativo para iPad será usado em diferentes países e eu precisarei fazer um cálculo na data para ver se 90 dias se passaram desde que um usuário fez o login pela última vez.

Eu tenho um banco de dados SQLite com um campo DateLastIn definido como TEXT

Meu objeto tem uma propriedade DateLastIn definida como NSDate

Ao preencher meu objeto de registro, eu configurei um NSDateFormatter como tal.

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

Então eu li no DateLastIn (usando o wrapper FMDB para SQLite).

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

Resultado:DateLastIn direto do DB (string) mostra 2012-04-23 18:20:51

Tudo está bem até agora. Em seguida, testo a conversão para um objeto NSDate, por exemplo,

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

Resultado:Usar o formmater na data da string resulta em: (null)

Eu tentei DATETIME em SQLite, eu tentei usar NSString no meu objeto em vez de NSDate e parece estar andando em círculos.

Qualquer ajuda muito apreciada.

questionAnswers(2)

yourAnswerToTheQuestion