Posso embutir métodos de classe estática no Objective-C?
Você pode declarar funções como linhas assim:
#ifdef DEBUG
void DPrintf(NSString *fmt,...);
#else
inline void DPrintf(NSString *fmt,...) {}
#endif
para que quando você não estiver em DEBUG, não haverá custo para a função porque ela é otimizada e integrada. E se você quiser ter a mesma coisa, exceto para um método de classe?
Minha classe é declarada assim:
@interface MyClass : NSObject {
}
+ (void)DPrintf:(NSString *)format, ...;
// Other methods of this class
@end
Eu quero converter 'DPrintf
'em algo semelhante aoinline
para que não haja custo para invocar o método.
Mas não posso fazer isso:
inline +(void)DPrintf:(NSString *)format, ...; {}
Como posso desativar um método estático de custo zero de uma classe para compilações sem depuração?