2015-04-09 2 views
-1

Понятно, как подвигать метод, но как вы отменяете это и возвращаетесь к оригиналу?Как отключить метод в iOS

На iOS 8 это означает, что вы можете просто вызвать метод swizzle снова, и он возвращается обратно к оригиналу, но на iOS 7 он, похоже, не работает.

+1

http://nshipster.com/method-swizzling/ –

ответ

0

Для моего случая мне нужно, чтобы swizzling был toggleable. Код swizzle находится в рамках Framework, который позволяет родительскому приложению запускать или выходить из нашего модуля, и я только хотел swizzling, когда модуль был открыт. Я добавил флаг (в моем случае BOOL в другом классе), который сначала проверяет swizzled метод; если он выключен, он немедленно вызывает исходный метод и завершает работу, а затем он переходит к пользовательскому коду.
Щелчок переключателя один раз только по сути отменяет swizzle.

Смежные вопросы