Ответ 1
Предполагая, что logString:withLogLevel:
принимает один строковый параметр в дополнение к уровню журнала, это должно быть возможно:
#define DLog(x) [Logger logString:(x) withLogLevel:LogLevelDebug]
Обратите внимание на круглые скобки вокруг параметра макроса, это полезно, когда макросы вызываются с составными выражениями.
Предполагая, что logger принимает объекты NSString
, а не строку C, вы должны использовать макрос следующим образом:
DLOG (@ "Текст" );
Однако в этом случае непонятно, почему можно предпочесть макрос для простого вызова функции:
void DLog(NSString *str) {
[Logger logString:str withLogLevel:LogLevelDebug];
}