2010-03-10 5 views

Répondre

3

Comme par docs NSString jette une exception si les octets sont nuls

Ce que vous devez faire est de vérifier la valeur retournée et seulement créer la chaîne si elle est non nulle

char *localityChars = sqlite3_column_text(compiledStatement, 8); 

if (localityChars == nil) { 
    self.DirectionFromCity = nil; 
} else { 
    self.DirectionFromCity = [NSString stringWithUTF8String: localityChars]; 
} 

En réponse à le commentaire ci-dessous le code re de plus en plus avec la vérification supplémentaire, vous pouvez réduire la en utilisant

self.DirectionFromCity = localityChars != nil?[NSString stringWithUTF8String: localityChars]:nil; 

ou le pousser vers une méthode qui fera le même foncti onality

self.DirectionFromCity = [self getSQLiteColumn:compiledStatement]; 
+0

Merci, Aïe ... J'ai 35 colonnes qui peuvent contenir NULL cela va ajouter beaucoup de frais généraux à l'application ...... –

+0

Les frais généraux sont très petits, le seul vrai la différence est le bloc 'if' – Liam

+0

Liam: Je pense qu'il voulait dire le surcoût à la base de code. –

Questions connexes