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?

questionAnswers(3)

yourAnswerToTheQuestion