2012-06-27 5 views
-1

У меня есть метод в ClassA, который называется Selector1,Возможно ли установить метод из другого класса в качестве свойства селектора для объекта NSInvocation?

В ClassB Я хочу создать объект NSInvocation и установить Selector1 в качестве селектора объекта. Это возможно? Я не знаю, как правильно это настроить.

код Я пытаюсь использовать в ClassB, как это:

NSMethodSignature *signature = [ClassA methodSignatureForSelector:@selector(Selector1:)]; 
NSInvocation *invocationToPass = [NSInvocation invocationWithMethodSignature:signature]; 
invocationToPass.target = self; 
invocationToPass.selector = Selector1; // How can I assign Selector1 from ClassA? 

ответ

1

Вам нужен SEL, так же, как тот, который вы передали methodSignatureForSelector:, а не только имя метода.

[invocationToPass setSelector:@selector(Selector1:)]; 

Вы также должны знать, что двоеточие значимо. Если метод не принимает аргументов, то имя будет Selector1; если требуется, имя будет Selector:. Вы должны ввести правильное имя в оператор @selector().

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

  • Нет связанных вопросов^_^