2011-09-14 2 views
0

는 기본적으로 나는Dlog (사용자 정의 xcode NSLog)와 같이 timeLog를 만드는 방법은 무엇입니까?

TimeLog {...}; 

어떻게 그것을 위해 매크로를 사용할 수 있습니다와 같은 간단한 뭔가

Dlog ("Calling computeTime"); 
[Tools computeTime:^{...}]; 

의 차례 나오는 교체하려면?

예를 DLOG는

#ifdef DEBUG 
#define DLog(s, ...) NSLog(@"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__]) 
#else 
#define DLog(s, ...) 
#endif 

은 내가 호출 기능을 알 수 없기 때문에이 기능은 쓸모가이

+(void) computeTime:(void (^)())block 
{ 
    NSDate * currentTime = [NSDate date]; 
    block(); 
    DLog(@"Time Running is: %f", [[NSDate date] timeIntervalSinceDate:currentTime]); 
} 

같은 기능을 가지고 있습니다. 함수 호출을 어떻게 결정합니까?

나는이 기능은 같은 그

#ifdef DEBUG 
#define TimeLog {...} [Tools computeTime:^{...}]; 
#else 
#define TimeLog {...} 
#endif 

처럼 될 수있다

DLOG

을 정의 만들고 싶어하지만 여전히 오류의

어느 한 지옥 내게 그것을 해결하기 위해 할 수 있습니까? 가 DLOG ("computeTime 호출");

그래서 나는 그 시간 로그와 같은 TimeLog라는 {해봐요} 에 전화로 그를 설정할 수 있습니다 [도구 computeTime :^{doSomething}];

매크로는 무엇입니까?

어떻게하면 좋을까요?

답변

1

MACROS에 매개 변수를 전달하려면 ()이 아니고 {...}이 아닌 다른 대괄호를 사용해야합니다.

+0

그럼 어떻게해야합니까? –