2009-11-20 5 views
0

Seriez-vous en mesure de vous aider à supprimer l'avertissement décrit ci-dessous?question concernant l'avertissement qui vient partout

je un fichier example.h

Dans ce que je déclarai static const NSString *variable = @"cool";

Maintenant, j'ai un autre fichier multiple.m. Dans ce fichier, j'ai un function Bool var2 = [object methodname:variable];

Cela signifie, je suis passé variable paramètre pour cette fonction, mais je suis d'avertissement comme ceci:

variable is defined but not used 

Alors, comment supprimer cet avertissement?

s'il vous plaît aidez-moi

Répondre

2

si example.h est importée dans d'autres fichiers en dehors de multiple.m, le compilateur effectue la vérification dans chaque fichier est importé dans, et les rapports lorsque la variable est utilisé dans ce fichier .

si vous voulez vous débarrasser des avertissements, je changerais que d'un const statique à une macro comme ceci:

#define Variable @"cool" 

GCC ne sera pas un rapport sur les macros inutilisés.

1

Ce que vous devriez probablement faire est: fichier

extern NSString * const variable;

dans l'en-tête puis

NSString * const variable = @"cool";

dans une mise en œuvre (.m).

(Notez également où le const est, vous pouvez voir ce modèle dans les en-têtes propres d'Apple comme, par exemple, où FOUNDATION_EXPORT NSString * const NSFileTypeSocketFOUNDATION_EXPORT est un #define pour extern.)