Я пытаюсь использовать этот метод в Ссылка на время выполнения Obj-c
BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types)
Я хочу добавить новый метод, например:
- [AClass drawWithFrame:(NSRect)rect inView:(id)view]
Пока я написал функцию C:
void drawWithFrameInView(id this, SEL this_cmd, NSRect frame, id view){
...
}
теперь я готов сделать:
BOOL success = class_addMethod(NSClassFromString(@"AClass"),
@selector(drawWithFrame:inView:),
(IMP)drawWithFrameInView,
"v@:@:@:");
но success
никогда не ДА, я пробовал тот же подход с методами с более простыми сигнатурами, и это сработало. Поэтому я думаю, что проблема в последнем параметре: "v@:@:@:"
Что я должен передать в этом случае, чтобы мой новый метод заработал?