Я хочу, чтобы swizzle функцию в объективе-c. Проблема в том, что - я знаю функцию, которая должна быть проверена только во время выполнения. Теперь разные методы в коде будут иметь разные типы возвращаемых данных, входные параметры и т. Д.Swizzling функции - и функция, известная только во время выполнения
Как написать (общий) код, который, если ему присвоено имя функции и класса, к которому она принадлежит, я могу создать блок а затем используйте imp_implementationWithBlock для создания IMP, а затем swizzle оригинальный метод с этим вновь созданным IMP.
позволяет сказать, что у меня есть функция foo, которая бросает исключение. Я хочу окружить тело этой функции блоком try-catch. Таким образом, мне нужно сделать блок из этой функции foo, и блок должен иметь точно такую же подпись. Этот блок будет иметь попытку, между которой я буду называть исходный метод. После чего я буду пересказывать исходный код в новый блок. Таким образом, любые дальнейшие вызовы foo будут проходить через попытку, реализованную в блоке. Я не могу создать блок во время выполнения, потому что я не знаю о его аргументах и возвращаемом типе во время компиляции. – prabodhprakash
Аспекты предоставляются только до, после и вместо этого - мне нужно окружить его с помощью try-catch, есть ли способ сделать это с помощью Аспектов? – prabodhprakash
Также, как этот блок в примере примет аргументы функции? мы должны предоставить это в useBlock. – prabodhprakash