Есть ли разница между импортом чего-либо (например, #import "JSON.h"
) в файл заголовка по сравнению с файлом реализации?Импорт в .h по сравнению с .m
ответ
Если вы #import его в заголовке, то все, включая этот заголовок, получает его. Вы можете найти это полезным, поскольку вам не нужно повторно импортировать его в других местах, но я предпочитаю #import вещи только там, где это необходимо, чтобы минимизировать зависимости и делать сборки быстрее.
Я думаю, что если вы сделаете это в файле заголовка, вы сохраните свои проблемы позже, если вы ссылаетесь на класс, определенный в импортированном файле.
Другими словами, если вы импортируете «JSON.h» в файл заголовка, и есть класс JSON (гипотетически), который вы будете использовать в своем файле заголовка (в интерфейсе), это избавит вас от необходимости для выполнения директивы @class
в верхней части. Тогда ваш файл реализации также будет прекрасен, так как он импортирует файл заголовка, который сам импортировал файл «JSON.h»
В принципе, я думаю, что он был бы более аккуратным и был бы более похож на объектив-c, если вы импортируете требуемый файлов в файле интерфейса (.h). Как вы, наверное, заметили, интерфейсные файлы, как правило, короткие и сжатые, что позволяет вам быстро взглянуть на то, что представляет собой определенный класс и что он делает. Если вы импортируете свои файлы там, вы также можете увидеть, какие файлы/классы он использует более легко, сохраняя файл реализации (.m) для фактического «мяса».
- 1. Добавление подкласса UIViewController не допускает импорт в .h или .m
- 2. питона Глобалы: импорт по сравнению с ExecFile
- 3. Дата заказа Mysql по m/h/s
- 4. Импорт файла .m
- 5. Нормализовать m: s до h: m: s
- 6. Импорт с * (звездочкой) по сравнению с пространством имен в python
- 7. perl regex style, используя m! $ Regex! по сравнению с
- 8. Сочетание файлов .h и .m
- 9. Импорт в пакеты python по сравнению с обычными сценариями
- 10. О файлах .h и .m (как управлять)
- 11. @property from * .h не отображается в * .m
- 12. Добавление файлов .h & .m в библиотеке iPhone
- 13. #import iAd в .m вместо .h
- 14. Python display millisecond в формате h "m
- 15. Два интерфейса в файлах * .h и * .m
- 16. Исключить «H: m» в dateTimeLabel Highcharts
- 17. Импорт-CSV Powershell v2.0 по сравнению с v3.0
- 18. Рисование анимации холста для пирога по времени h: m: s
- 19. ruby parsing datetime% Y% m% d% H% M% S
- 20. Отображение .h связано с .m автоматически в AppCode
- 21. Как вы определяете функцию сигнатуры h :: M Int -> M Int -> M Int, так что h (M x) (M y) = M (x + y) без разворачивания монады?
- 22. convert d.m.Y h: m: s to Y-d-m h: m: s для большого файла в linux
- 23. Highcharts.dateFormat ("% Y-% m-% d% H:% M", this.x) не работает
- 24. разница между $ {CDR (start)} и $ {STRFTIME ($ {EPOCH} ,,% Y-% m-% d% H:% M:% S)} в звездочке
- 25. дата Преобразовать в виде "% Y% M% D" до "% Y% M% D% H% M% S" в панд
- 26. GC.KeepAlive по сравнению с использованием
- 27. R POSIX% H:% M:% S Среднее время
- 28. MySQL по дате (M D, Y, H: M: S am \ pm)
- 29. Как есть файлы .xib, * .m и * .h?
- 30. HIVE - date_format (your_date_column, '% Y-% m-% d% H')