Comment puis-je me débarrasser d'un “unused variable” avertissement dans Xcode?
Je comprends exactement pourquoi inutilisés variable d'avertissement. Je ne veux pas les supprimer en général, car ils sont très utiles dans la plupart des cas. Cependant, considérer les points suivants (fictive) du code.
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode rapports que saved
est une variable inutilisée, quand il n'est bien sûr pas. Je soupçonne que c'est parce que NSAssert1
est une macro. Le NS_BLOCK_ASSERTIONS
macro est pas défini, de manière Objective C affirmations sont certainement activé.
Alors qu'il ne fait de mal à rien, je trouve ça assez brouillon et ennuyeux, et je veux le supprimer, mais je ne suis pas sûr de la façon de le faire. L'affectation de la variable elle-même se débarrasser de l'avertissement du compilateur, mais je préfère le faire de la "bonne" façon si une telle chose existe.
Vous devez vous connecter pour publier un commentaire.
Je suis pas sur si c'est toujours pris en charge dans le nouveau compilateur LLVM, mais GCC a un état "inutilisé" de l'attribut que vous pouvez utiliser pour supprimer cet avertissement:
Sinon (dans le cas de LLVM ne prend pas en charge le ci-dessus), vous pouvez diviser la déclaration de la variable dans une ligne distincte, en garantissant que la variable serait "utilisé" si la macro se développe ou pas:
À l'aide de Xcode 4.3.2 et a trouvé que cela semble fonctionner (moins écrit)
'saved' was marked as unused but was used
Dans Xcode, vous pouvez définir les mises en garde pour les "Variables Inutilisées." Allez à "Paramètres de génération" pour la cible et le filtre avec le mot "non utilisé"
Voici une capture d'écran:
Je vous suggère de modifier uniquement pour le Débogage. De cette façon, vous ne manquerez de rien dans votre version.
Essayer comme ça.
Il est travaillé pour moi. Il va travailler pour vous, aussi.
'saved' was marked as unused but was used
Le seul simple et portable pour marquer la variable utilisée est... pour l'utiliser.
Vous pouvez être heureux avec déjà décrit par le compilateur des extensions spécifiques, cependant.
essayer avec: __inutilisés attribut. Fonctionne dans Xcode 5
SOURCE
Vous pouvez définir des "Non" LLVM compliler 2.0 avertissement sur la "Libération"
C'est la façon dont vous le faire en C, et donc aussi Objective-C.
Même si vous n'avez pas de mises en garde activé, il est toujours une bonne idée pour marquer la valeur de retour comme explicitement ignoré. Il va également de montrer à d'autres développeurs, que vous n'avez pas oublié à propos de la valeur de retour – vous avez en effet explicitement choisi de l'ignorer.
EDIT: Compilateurs ignorer jette à
void
, de sorte qu'il ne devrait pas affecter les performances c'est juste un bien propre de l'homme de l'annotation.(void)
est la façon la plus claire d'aller, merci!Faire prendre jusqu'à deux lignes. Séparer la déclaration et la valeur par défaut