2012-01-31 1 views
1

을 사용할 수 있습니다. YES/NO가 정의되는 방식 때문에 과 함께 YES/NO를 사용할 수 없습니다. 예 : #define CAN_DO YES CAN_DO 태그로 제어되는 코드는 일반적으로 #if CAN_DO을 사용하여 '켜야합니다'. 예전 학교 C 녀석으로서 나는 #define CAN_DO 1을 사용 하겠지만, 그다지 'Objective-C like'는 아닌 것처럼 느낍니다. 이 작업을 수행하는 데 'Objective-C'방식이 선호됩니까? (나는 #ifdef을 알고 있지만 그 태그를 사용하는 사람들은 항상 #defined의 'd'기호를 제공함으로써 가장 효과적 일 것입니다.)objective-c에서 #define 및 #if를 사용할 때 YES/NO를 사용하는 대신

더 간단하게 말하자면, '사용자'코드에서 심볼을 설정하여 사람들이 #define SOME_SYMBOL YES과 같은 것을 말할 수 있기를 바랍니다. 하지만 나는 C 방법이 #define SOME_SYMBOL 1만큼 좋다고 생각합니다.

+0

더 구체적인 예를 들면, 여기에 묻는 것이 명확하지 않습니다. – benzado

+0

그냥 1과 0을 사용하십시오. 유일한 차이점은 'YES'와 'NO'가 정의되면 타입 변환이라는 점입니다. – ughoavgfhw

답변

6

구식 C 방식이 올바른 방법입니다. 예를 들어, NS_BLOCKS_AVAILABLENSObjCRuntime.h에 정의 된 방법을 참조하십시오.

+0

동의. 선행 처리기 구조체를 사용해야하는 경우 반드시 ObjC 구조체를 사용할 수있는 것은 아닙니다. 그게 잘못 이라곤, 다른 것들입니다. – DougW