Prefix.pch의 모든 헤더 파일을 참조하는 것이 좋으며 개발 중에 #import 헤더를 입력 할 필요가 없습니까?모든 헤더 파일을 Prefix.pch에 넣어야합니까?
답변
모든 헤더를 Prefix.pch에 추가하면 그 이후로 인생이 훨씬 쉬워 진다고 주장해야합니다. 나는 항상 헤더를 가져올 필요가 없으며, 나를 믿는다. 인생은 훨씬 쉽다. :-)
나는 이것을 권장하지 않습니다.
주된 이유는 헤더 파일이 개발 과정에서 변경 될 수 있기 때문입니다. 하나의 헤더를 변경하면 pch가 더러워지고 재구성되어야하며 이제는 전체 프로젝트가 다시 빌드됩니다. 그건 꽤 시간이 많이 걸리는, 그리고 pch 파일에 대한 모든 이유에 반대 작동합니다.
새 헤더 파일을 만들고 pch에 추가하면 이제는 트리거되고 전체가 다시 빌드됩니다.
하지만 여기에는 답이 하나도 없습니다. 절대로 (또는 드물게) 변경되지 않는 제 3 자 라이브러리가있을 수 있으며 헤더 집약적이므로 미리 컴파일하면 빌드 시간을 단축 할 수 있습니다. 실험하고보십시오.
표준 관점에서 볼 때 포함 항목은 가능한 한 최소화해야합니다. 사실, 컴파일에 필요하지 않은 것을 파일에 포함해서는 안됩니다. 따라서 .h 파일 각각에서 수퍼 클래스를 주로 포함하고 다른 모든 참조에는 @class
을 사용하고 .m 파일에만 포함해야합니다. 이것은 각 클래스/파일의 요구 사항에 대한 가장 명확한 정보를 제공하고 원형 문제를 최소화합니다.
대부분의 다른 클래스에서 파일/클래스가 필요한 경우에만 헤더 파일을 Prefix.pch에 추가해야합니다. 하나 또는 두 개의 다른 클래스에 헤더 파일이 필요한 경우 컴파일러에서 파일을 컴파일하는 데 더 많은 시간이 걸리고 프로젝트를 실행할 때마다 발생하기 때문에 .pch에 추가하는 것이 중요하지 않습니다.
미리 컴파일 된 헤더 파일은 의 두 가지 목적으로 제공되어 더 빠르게 컴파일됩니다.. 컴파일되고 캐시에 저장되며 컴파일 시간 동안 모든 소스 파일에 자동으로 포함됩니다. 이 파일은 각 소스 파일과 비슷합니다.
#import "Prefix.h"
이는 프로젝트 전반의 #define에서 유용 할 수 있습니다. 가장 효과적 일 것 접두사 헤더를 프리 D
경우 내용 접두사 헤더 또는 거의 변화를 포함하지 않는 모든 파일의 :
엑스 코드 따옴표 (참고로, # 정의는 코드 냄새입니다). 접두사 헤더 또는 포함 된 파일의 내용이 자주 으로 변경되면 전체 빌드 시간에 부정적인 영향을 줄 수 있습니다.
더 명확한 설명은 .PCH에서 소스 파일 헤더를 # import를 할 때이 점을 염두에 보관하십시오 here
입니다. 팁으로 상수 및 유틸리티 소스 파일의 # import에 Prefix.h를 사용할 수 있습니다.
- 1. 그것을 악용하면 앱 prefix.pch에
- 2. 언제 Prefix.pch에 헤더를 가져와야합니까?
- 3. Pdo 어떻게 파일을 넣어야합니까?
- 4. 어디에서 AIDL 파일을 넣어야합니까?
- 5. 모든 Android보기 속성을 스타일에 넣어야합니까?
- 6. 어느 디렉토리에 다운로드 파일을 넣어야합니까?
- 7. 다른 모든 헤더 파일을 포함하는 단일 헤더 파일?
- 8. 메이크 : 포함하는 디렉토리에있는 모든 파일을 강제로 헤더
- 9. 모든 struct 유형을 동일한 헤더 파일에 포함해야합니까?
- 10. 특정 헤더 파일을 포함하는 모든 파일을 '만지'는 방법은 무엇입니까?
- 11. 정말 CSS 리소스 파일을 GWT의 ClientBundle에 넣어야합니까?
- 12. PHP/XHTML. 모든 것을 에코 태그에 넣어야합니까?
- 13. 내 사이트 맵에 내 모든 링크를 넣어야합니까?
- 14. 어떤 경로에서 안드로이드로 쓰려면 텍스트 파일을 넣어야합니까
- 15. 데이터베이스 파일을 Android Studio에 어디에 넣어야합니까?
- 16. Rails 응용 프로그램에서 읽을 파일을 어디에 넣어야합니까?
- 17. Jetty가 포함 된 jetty.xml 파일을 어디에 넣어야합니까?
- 18. GAC의 DLL은 상대적으로 파일을 참조합니다 ... 어디에 넣어야합니까?
- 19. PhantomJS와 CasperJS 어떤 파일을 내 cpanel에 넣어야합니까?
- 20. IInAppBillingService.aidl 파일을 Android Studio에 어디에 넣어야합니까?
- 21. Laravel에서 비공개 data.json 파일을 어떤 폴더에 넣어야합니까?
- 22. 정확한 헤더 파일을 확인하십시오.
- 23. Androin NDK 빌드의 공통 헤더 (자동 포함)?
- 24. 헤더 파일을 어떻게 포함합니까?
- 25. 모든 PHP 파일에 헤더 추가하기
- 26. 모든 페이지의 wkhtmltopdf 헤더
- 27. 모든 페이지에 헤더 인쇄
- 28. 버전 관리에 Settings.Designer.cs를 넣어야합니까?
- 29. 헤더 파일을 쓰는 사람
- 30. 헤더 파일을 만드는 방법
u는 그 헤더를 넣을 수 있습니다. 프로젝트 전체에서 사용할 수 있습니다. 모든 헤더가 아니라 ...이 링크도 참조하십시오 http://stackoverflow.com/questions/2845211/ios-prefix-pch-best-practices –