2011-04-29 2 views
0

#ifdef 지시문을 사용하여 개발하는 것에 대해 질문하고 싶습니다. 주요 기능에#ifdef 지시문을 사용하여 디버그 코드를 만드는 방법. Objective-c

이 수행 : 내 인터페이스

#define DEBUG_LEVEL 

을 이렇게 :

#ifdef DEBUG_LEVEL 
BOOL editorIsDragged; 
BOOL editorIsSelected; 
#endif 
내가 원하는

는 목표 - C에만 디버그 사용하기 위해, 예를 들어 몇 가지 코드를 어떻게해야합니까

.... 다른 속성

#ifdef #DEBUG_LEVEL 
@property (nonatomic, readwrite) BOOL editorIsDragged; 
@property (nonatomic, readwrite) BOOL editorIsSelected; 
#endif 

는 내 구현이 수행

#ifdef #DEBUG_LEVEL 
@synthetize editorIsDragged, editorIsSelected; 
#endif 

을하지만 synthetize에 editorIsDraggededitorIsSelected가 정의되어 있지 않기 때문에 나는 오류를 receve. 내 자신의 setter/getter 메서드를 정의하려고하면 내 vars (editorIsDraggededitorIsSelected)가 XCode에 존재하지 않기 때문에 동일한 오류가 발생합니다!

내가 C에서 쓰기 전용 디버그 코드를 사용하지만 obj-c에서 사용해야하는 것은 무엇입니까 ??

감사합니다.

답변

1

#define DEBUG_LEVEL을 (를) 알아야하는 모든 장소에 포함되는 헤더 파일에 넣지 않아야합니까? 빌드 설정에서 설정하거나 * .pch를 넣는 것과 같습니다. 그리고 그 오타가 있는지 모르겠지만 #define #DEBUG_LEVEL (두 번째 해시 참조) 코드가 있습니다.

+0

예, 제가 할 일이 있습니다! – BQuadra

+0

작전 ... 죄송합니다. 네가 맞다! 해결! – BQuadra

+0

또한, NDBEUG (No Debug)는 이런 종류의 일에 사용되는 표준 매크로이지만, 두 개의 부정적 조건문을 사용하면 약간 엉망이 될 수 있습니다. –