Ну, поскольку у вас есть несколько аргументов, вы не можете использовать -performSelector:withObject:
.Вам придется использовать то, что Objective-C использует под капотом, objc_msgSend()
.Но сначала вам придется разыграть его.Вот как:
В вашем файле реализации (.m
) добавьте строку #import <objc/message.h>
в начало.Затем вам нужно разыграть objc_msgSend()
соответственно.В этом примере мы предположим, что param1
и param2
являются объектами Objective-C и что -myMethod:more:
возвращает void
.
void (*myMsgSend)(id self, SEL _cmd, id param1, id param2);
myMsgSend = (void(*)(id, SEL, id, id))objc_msgSend;
После того, как вы произвели его соответствующим образом, вызовитеновая функция:
myMsgSend(obj, @selector(myMethod:more:), param1, param2);