La définition d'un accessibles dans le monde entier chaîne de caractères en Objective-C
Quelle est la meilleure façon de définir un accessible dans le monde entier chaîne de caractères?
Je vois que pour entier c'est généralement comme ça
#define facile 0
Cependant, comment puis-je reproduire pour NSString?
J'ai essayé statique NSString *BACKGROUND = @"bg.png";
Tout ce travail, il donne un avertissement disant que la variable n'est jamais utilisé. (J'ai toutes ces dans une .h fichier)
Faire NSString *const BACKGROUND = @"bg.png";
est pire, car il est dit en double variable lorsque j'importe le fichier.
Je vois que #define BACKGROUND @"bg.png"
semble trop de travail.
Donc je suppose quelle est la différence entre quand utiliser #define
, const
& static
Merci,
Tee
- Une autre possibilité est de charger les chaînes localisées de ressources. Voir developer.apple.com/mac/library/documentation/cocoa/conceptual/...
Vous devez vous connecter pour publier un commentaire.
C'est la bonne façon de le faire. Faire quelques vide .h fichier et .m. Dans votre .h fichier:
Dans votre .m fichier:
extern NSString *const
--dans le cas contraire, le contenu de la chaîne (c'est à dire*BACKGROUND
) sont marqués const plutôt que le pointeur.Vous pouvez envisager d'utiliser un liste des propriétés de l' pour stocker vos chaînes. Cela permet à votre code permet de rester flexible pour les futures mises à jour, surtout si vous ajouter le support pour la localisation.