나는 h 파일에서 선언되지 않았지만 m 파일에 구현 된 클래스 메쏘드를 가졌다. 이제 반환 값이 int이므로 셀렉터를 직접 사용할 수 없으므로 다른 클래스에서 호출하려고합니다. 따라서 NSInvocation을 사용합니다.NSInvocation을 사용하여 클래스 메서드를 호출하는 방법?
SEL selector = ***;
NSMethodSignature *signature = [classA methodSignatureForSelector:selector];
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
invocation.selector = selector;
invocation.target = [classA class];
[invocation setArgument:(void *)arg atIndex:2];
[invocation invoke];
인보 성공하지 못한, 왜 아래
내가하고있어 무엇인가?
.h에 있지 않아야 다른 것에서 호출하고 싶다면 .. ..? –
"invoke는 성공할 수 없습니다"무엇이 "성공하지 못합니까?" – newacct
@newacct 감사합니다. – Jerrylk