Я хочу создать пользовательское ключевое слово программно в iphone. Напр. NSLog печатает журнал в консоли. Есть много разных фреймворков, которые используют свои собственные журналы (настраиваемые журналы), такие как Aphlogs и т. Д. Я хочу определить свое собственное ключевое слово, такое как MYLogs, так что когда я использую где-либо MYLogs(stackoverflow);
, он должен вызывать метод «MYLogsCalled» с «stackoverflow» в качестве параметра и я могу выполнять свои собственные действия в этом методе.определить пользовательское ключевое слово в ios programatically
ответ
Вы можете использовать макрос, чтобы сделать это быстро.
сначала создать метод, который вы хотите позвонить, так что класс с именем MyLogs
и добавить метод
+ (void)myLogsCalled:(id)arg; //do whatever you want in the implementation
затем определить макрос
#define MyLogsCalled(arg) [MyLogs myLogsCalled:arg]
другого способа заключается в определении Экстерной функции который обрабатывает журналы (это то, что делает NSLog), но с использованием #defines
делает его более чистым, чтобы делать такие вещи, как отключение журналов в сборках выпуска like DLog typically does
Могу ли я вызвать вышеупомянутое как mylog (test); – Warrior
, если вы #define то же, что и в моем примере, выполнив 'MyLogsCalled (@" test ");' будет таким же, как вызов '[MyLogs myLogsCalled: @" test "];' поэтому, если у вас есть #define в том же формат, называемый mylog, тогда да – wattson12
Не можете ли вы использовать #define –