Comment utiliser les variables globales dans le code x (iphone). Par exemple, disons que je veux déclarer un tas de variables (NSStrings) dans le fichier viewcontroller, alors comment pourrais-je y accéder à travers mes différentes classes? Est-ce que quelqu'un peut m'aider?Variables globales?
Répondre
Les variables globales sont des variables globales. Vous les utilisez de la même manière que dans n'importe quel programme C, c'est-à-dire qu'ils seront généralement déclarés dans quelque chose comme "globals.h" et importés partout où vous en aurez besoin. Cela dit, il est généralement mal fait de compter sur les globals. Vous pourriez avoir un objet "ApplicationController" qui suit essentiellement l'état global de l'application, mais ses variables devraient être des variables d'instance et soit accédées uniquement en interne, soit via des getters/setters.
Si vous vouliez déclarer un groupe de chaînes dans un seul objet pour être référencé par de nombreux autres objets, vous devriez généralement faire de cet objet un Singleton et lui transmettre une référence à chaque objet qui y aurait accès.
Cependant, vous devez vous demander POURQUOI vous devez faire et s'il n'y a pas une meilleure façon. Je vais miser des dollars sur des beignets, ce n'est pas une bonne raison pour ce que vous essayez de faire. Donnez-nous plus de détails sur ce dont le besoin primordial est que ces chaînes soient globales, et ensuite nous pouvons vous montrer pourquoi elles ne le sont pas. :)
Vous pouvez utiliser un singleton s'il n'est pas trop écrasé. Une autre option est NSDefaults. Bien sûr, la façon la plus simple est de définir simplement un extern dans .h
extern NSString * const STR_1;
et la valeur .m:
NSString * const STR_1 = @"String One";
vos variables simplement déclarer dans le fichier .h puis importer ce fichier dans n'importe quelle classe que vous voulez l'utiliser. Vous pouvez rendre n'importe quel type d'objet ou de variable global.
Si vous déclarez la variable dans des délégués, vous pouvez accéder à ces variables dans d'autres contrôleurs en utilisant les méthodes setter et getter pour y accéder.
Voir Warrior Answer
je l'espère, il vous aidera.
- 1. Variables globales en python
- 2. Variables globales dans Java
- 3. Variables globales dans Windows.Forms
- 4. variables globales dans jQuery
- 5. Asp.net variables « globales »
- 6. Variables globales dans C
- 7. Monotouch - variables globales
- 8. Nombre de variables globales
- 9. php variables globales
- 10. Variables globales, Javascript
- 11. variables globales en C++
- 12. variables globales dans AS3
- 13. Variables de titre globales
- 14. Utilisation de variables publiques globales
- 15. Variables globales dans l'objectif C
- 16. variables d'application globales à webGarden
- 17. Portée de visibilité - variables globales
- 18. PHP et des variables globales
- 19. Problème avec les variables globales
- 20. Desktop Application C# variables globales
- 21. Variables globales dans Visual C#
- 22. variables globales dans Eclipse RCP
- 23. Variables globales partagées dans C
- 24. AS3: Accès aux variables globales
- 25. Django, variables de modèle globales
- 26. Variables globales et fichiers DLL
- 27. problèmes avec les variables globales
- 28. Passer des variables entre jQuery et d'autres variables globales javascript
- 29. Classes de refactoring utilisant des variables globales
- 30. Variables globales dans Objective C sur iPhone
upvote. C'est ainsi que vous déclareriez une variable globale, mais il est très probable qu'il existe une meilleure façon de faire ce que vous essayez de faire. – kubi
Dans chacune de mes classes (20), j'ai une action qui nécessite l'utilisation de (par exemple) 20 chaînes. Chaque classe utilise les mêmes chaînes, et plutôt que de les déclarer dans chaque classe, je me demandais s'il y avait un moyen de les déclarer une seule fois, et ensuite les utiliser dans toutes mes classes. – Roosh