Y a-t-il une différence entre l'importation d'un élément (par exemple #import "JSON.h"
) dans le fichier d'en-tête par rapport au fichier d'implémentation?Importation dans .h en .m
Répondre
Si vous l'importez dans l'en-tête, alors tout ce qui inclut cet en-tête l'obtient. Vous pouvez trouver cela utile, car vous n'avez pas besoin de l'importer de nouveau dans d'autres endroits, mais ma préférence est d'importer des choses uniquement si nécessaire, afin de minimiser les dépendances et de rendre les versions plus rapides.
Je pense que si vous le faites dans le fichier d'en-tête, vous vous épargnerez plus tard des problèmes si vous faites référence à une classe qui est définie dans le fichier importé. En d'autres termes, si vous importez "JSON.h" dans le fichier d'en-tête, et qu'il existe une classe JSON (hypothétiquement) que vous utiliserez dans votre fichier d'en-tête (dans l'interface), cela vous évitera d'avoir pour faire la directive @class
en haut. Ensuite, votre fichier d'implémentation sera également très bien car il importerait le fichier d'en-tête, qui importait lui-même le fichier "JSON.h"
Fondamentalement, je pense que ce serait plus net et serait plus comme objectif-c si vous importez le nécessaire fichiers dans le fichier d'interface (.h). Comme vous l'avez probablement remarqué, les fichiers d'interface sont généralement courts et concis, ce qui vous permet d'avoir un aperçu rapide de ce qu'est une classe et de ce qu'elle fait. Si vous y importez vos fichiers, vous pouvez également voir à quels fichiers/classes il dépend le plus facilement, en enregistrant le fichier d'implémentation (.m) pour la "viande" réelle.
- 1. Combinaison de fichiers .h et .m
- 2. pouvez jquery datepicker passer H: m: s
- 3. Iphone charge XIB/m/h Problème
- 4. Modifier le format de date par défaut en% Y% m% d% H% M% S
- 5. Recherche de tous les fichiers .h et .m dans XCode
- 6. Double importation dans grok
- 7. Définitions de classes multiples Objective-C en un .h et .m
- 8. Parsing "HH: mm: ss" et "H: m: s" fois en utilisant DateTime.ParseExact()
- 9. Mettez-vous des #import s dans des fichiers .h ou .m?
- 10. Date d'émission en m²
- 11. Convertir la chaîne de temps exprimée en <number> [m | h | d | s | w] en secondes en Python
- 12. Comment mapper la valeur d'un h: selectBooleanCheckbox dans un h: dataTable dans un h: dataTable?
- 13. Que signifie M, D en décimal (M, D) exactement?
- 14. Masquage^M dans emacs
- 15. H.264 dans Firefox
- 16. 24 24 h = Valeurs
- 17. Importation rapide dans MongoDb
- 18. importation Liste dans haskell
- 19. Lecture d'entrée m-fichier dans un m-fichier principal
- 20. mysql codeigniter enregistrement actif m: m suppression
- 21. compiler * .h fichiers dans l'objectif c Linux
- 22. Comment remapper la commande Emacs M-d dans la macro M-b, M-d?
- 23. Quelle est la signification de "h" dans "<% = h [...]%>"?
- 24. Importation _mysql dans MySQLdb
- 25. importation Crossed dans django
- 26. Importation dans SiteFinity
- 27. image h: graphicImage dans JSF
- 28. MP4 H.264 dans Flash
- 29. Utiliser enum dans h: selectManyCheckbox
- 30. Importation d'ASCII étendu dans Oracle