2010-09-29 4 views
3

C'est mon codeiPhone, sqlite3, comment détecter une date nulle, obtenir une erreur lors de l'affectation à un NSString?

NSString *enddate = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 3)];     

je dois avoir des dates nulles, mais quand une valeur nulle est passée à cette ligne, je reçois une erreur

* Mettre fin application en raison d'une exception non interceptée « NSInvalidArgumentException », raison: '* - [NSPlaceholderString initWithUTF8String]: NULL CSTRING'

Répondre

13

Vous ne pouvez pas initialiser NSString objets avec un pointeur NULL si juste vérifier cette condition:

const char* date = (const char*)sqlite3_column_text(statement, 3); 
NSString *enddate = date == NULL ? nil : [[NSString alloc] initWithUTF8String:date]; 
Questions connexes