2014-03-27 2 views
0

Prefix.pch의 모든 헤더 파일을 참조하는 것이 좋으며 개발 중에 #import 헤더를 입력 할 필요가 없습니까?모든 헤더 파일을 Prefix.pch에 넣어야합니까?

+0

u는 그 헤더를 넣을 수 있습니다. 프로젝트 전체에서 사용할 수 있습니다. 모든 헤더가 아니라 ...이 링크도 참조하십시오 http://stackoverflow.com/questions/2845211/ios-prefix-pch-best-practices –

답변

-1

모든 헤더를 Prefix.pch에 추가하면 그 이후로 인생이 훨씬 쉬워 진다고 주장해야합니다. 나는 항상 헤더를 가져올 필요가 없으며, 나를 믿는다. 인생은 훨씬 쉽다. :-)

2

나는 이것을 권장하지 않습니다.

주된 이유는 헤더 파일이 개발 과정에서 변경 될 수 있기 때문입니다. 하나의 헤더를 변경하면 pch가 더러워지고 재구성되어야하며 이제는 전체 프로젝트가 다시 빌드됩니다. 그건 꽤 시간이 많이 걸리는, 그리고 pch 파일에 대한 모든 이유에 반대 작동합니다.

새 헤더 파일을 만들고 pch에 추가하면 이제는 트리거되고 전체가 다시 빌드됩니다.

하지만 여기에는 답이 하나도 없습니다. 절대로 (또는 드물게) 변경되지 않는 제 3 자 라이브러리가있을 수 있으며 헤더 집약적이므로 미리 컴파일하면 빌드 시간을 단축 할 수 있습니다. 실험하고보십시오.

1

표준 관점에서 볼 때 포함 항목은 가능한 한 최소화해야합니다. 사실, 컴파일에 필요하지 않은 것을 파일에 포함해서는 안됩니다. 따라서 .h 파일 각각에서 수퍼 클래스를 주로 포함하고 다른 모든 참조에는 @class을 사용하고 .m 파일에만 포함해야합니다. 이것은 각 클래스/파일의 요구 사항에 대한 가장 명확한 정보를 제공하고 원형 문제를 최소화합니다.

0

대부분의 다른 클래스에서 파일/클래스가 필요한 경우에만 헤더 파일을 Prefix.pch에 추가해야합니다. 하나 또는 두 개의 다른 클래스에 헤더 파일이 필요한 경우 컴파일러에서 파일을 컴파일하는 데 더 많은 시간이 걸리고 프로젝트를 실행할 때마다 발생하기 때문에 .pch에 추가하는 것이 중요하지 않습니다.

1

미리 컴파일 된 헤더 파일은 의 두 가지 목적으로 제공되어 더 빠르게 컴파일됩니다.. 컴파일되고 캐시에 저장되며 컴파일 시간 동안 모든 소스 파일에 자동으로 포함됩니다. 이 파일은 각 소스 파일과 비슷합니다.

#import "Prefix.h" 

이는 프로젝트 전반의 #define에서 유용 할 수 있습니다. 가장 효과적 일 것 접두사 헤더를 프리 D

경우 내용 접두사 헤더 또는 거의 변화를 포함하지 않는 모든 파일의 :

엑스 코드 따옴표 (참고로, # 정의는 코드 냄새입니다). 접두사 헤더 또는 포함 된 파일의 내용이 자주 으로 변경되면 전체 빌드 시간에 부정적인 영향을 줄 수 있습니다.

더 명확한 설명은 .PCH에서 소스 파일 헤더를 # import를 할 때이 점을 염두에 보관하십시오 here

입니다. 팁으로 상수 및 유틸리티 소스 파일의 # import에 Prefix.h를 사용할 수 있습니다.

관련 문제