Когда я использую метод swizze, чтобы зацепить какой-либо метод. Оригинальное название метода:Как подавлять потепление «Mehtod» XXXX «бесконечно рекурсивно»
- (void)printOutMessage:(NSString*)message;
Мой метод крюков:
- (void)shzPrintOutMessage:(NSString*)message;
Реализация моего метода крюков:
- (void)shzPrintOutMessage:(NSString *)message {
//Do some thing I like
[self shzPrintOutMessage:message];
}
Теперь я получил потепление: Mehtod 'shzPrintOutMessage:' бесконечно рекурсивно. Как я могу подавить вид этого потепления?
Вы не могли рекурсию бесконечно. При swizzling вам нужно сохранить ссылку на оригинальную реализацию метода, а затем вызвать ее из замены. Вы не хотите вызывать реализацию замены самостоятельно. – Avi