La fonction de compilation et d'analyse de xCode se plaint de la possibilité que les «s» soient des déchets.Meilleure pratique pour l'initialisation de vos NSStrings sur l'iPhone
Quelle est la meilleure solution? A, B ou C?
NSString *s; // A
NSString *s = nil; // B
NSString *s = @""; // C
if(x == 1) s = @"you picked 1";
if(x == 2) s = @"you picked 2";
if(x == 3) s = @"you picked 3";
nul n'est pas inconnu, il est très bien défini. D'autre part, la chaîne vide alloue (probablement) de la mémoire. nul est le chemin à parcourir. – Eiko
Je veux dire que 'nil' représente une valeur inconnue, alors qu'une chaîne vide est une valeur connue. – mipadi
Quelle sera la 'valeur' de 's' lors de l'initialisation comme' NSString * s; Est-ce que ce sera juste «nul», comme avec les ivars qui n'ont pas été assignés manuellement une valeur, ou est-ce que ce sera quelque chose d'autre? –