2012-06-23 5 views
1

에서 C typedef를 선언하는 옵션 obj-c 클래스는 Obj-C 래퍼 인터페이스가있는 C 라이브러리 (Chipmunk 물리 엔진)를 사용합니다.obj-c @interface

내가, 내 객체에 다람쥐 유형 (cpLayers를) 속성을 추가과 같이 할 :

@interface 
@property cpLayers layers; 
... 

가장 쉬운 방법은 "ObjectiveChipmunk.h을"# import를하는 것입니다,하지만 수입에 말도 안되는 것 같습니다 모든 머리글은 하나의 평범한 유형을 얻습니다.

cpLayers가 "typedef unsigned int cpLayers;"로 정의 된 "chipmunk_types.h"파일을 # import하면 ARC와 관련된 컴파일러 오류가 발생합니다. 그들은 chipmunk_types.h에 정의되어 있고 my .m 파일에서 사용되는 매크로에서 브릿지/캐스팅 오류입니다.

그냥 정의를 추가하거나 #include chipmunk_types.h를 사용하면 재정의 오류가 발생합니다.

더 좋은 방법이 있습니까? 그리고 ARC 오류는 무엇입니까?

+1

ObjectiveChipmunk.h를 가져 오는 것이 효과가 있다면 왜 그렇게하지 않으시겠습니까? 다른 곳으로 가져온다면 Xcode는 파싱에 대해 상대적으로 효율적입니다. 기본 헤더를 포함 시키면 ARC 오류가 표시됩니까? – gaige

답변

1

전처리기 정의를 사용하여 기본 Chipmunk 유형을 대체하는 ObjectiveChipmunk.h를 살펴보십시오. 이 정의를 컴파일러 플래그로 추가하면 문제를 해결할 수 있지만 걱정하지는 않습니다. 당신은 이미 Objective-C 프로그래밍을하고 있습니다. Foundation.h와 같이 무언가를 가져올 때 많은 돈을 들여다 보았습니까? 전체 ObjectiveChipmunk.h 헤더를 가져 오는 것은 1 %와 비슷합니다.