iPhone stringWithCString est obsolète
J'utilise ce code pour lire les données de la base de données sqlite:
keyFromSql = [NSString stringWithCString:(char *)sqlite3_column_text(preparedStatement, 1)];
mais le compilateur me donner l'avertissement écrit dans le titre... alors, qu'est-ce que le droit et non dépréciées méthode pour récupérer une valeur de sqlite?
merci!
OriginalL'auteur ghiboz | 2010-07-24
Vous devez vous connecter pour publier un commentaire.
Je pense que vous serez généralement utiliser NSUTF8StringEncoding, de sorte que votre code devrait ressembler à
Alternativement, vous pouvez utiliser
[[NSString alloc] initWithBytes:bytes length:count encoding:NSUTF8StringEncoding]
est mieux, si vous pensez soigneusement à Apple document à l'adresse developer.apple.com/reference/foundation/nsstring/...OriginalL'auteur Austen Green
Depuis SQLite toujours le retour de l'UTF-8* encodées, vous pouvez simplement utiliser
+stringWithUTF8String:
.(* ou UTF-16, si vous utilisez
sqlite3_column_text16
)OriginalL'auteur kennytm
[[NSString alloc] initWithBytes:bytes length:count encoding:NSUTF8StringEncoding]
est préféré à
stringWithCString:encoding:
Apple Documentde la recommandation n'est pas très OK, parce que la méthode originale de "ne pas s'arrêter à un caractère NUL."
OriginalL'auteur DawnSong