В основном я хочу заменить вхождения
Dlog ("Calling computeTime");
[Tools computeTime:^{...}];
с чем-то более простым, как
TimeLog {...};
Как я могу использовать макрос для этого?
пример 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]);
}
Эта функция бесполезна, потому что я не знаю вызывающую функцию. Как мы решаем вызов функции?
Я хочу сделать эту функцию похожей на определение Dlog
может быть таким
#ifdef DEBUG
#define TimeLog {...} [Tools computeTime:^{...}];
#else
#define TimeLog {...}
#endif
но это все-таки ошибка, может кто-нибудь, черт возьми, мне это исправить?
Так что я могу вызвать этот журнал времени, такой как
TimeLog {doSomething}
и превратить это в:
Dlog ("Вызов computeTime");
[Инструменты computeTime: ^ {doSomething}];
что бы был макрос?
как мне это хорошо сделать?