我想在运行时获取实例的返回值类。我有一个SEL
类型 var 来存储选择器。我有一个名为的变量id _instance
,它指向一个我知道它执行选择器的实例。在执行该方法之前,我想知道我是否必须这样做:
NSObject* returnValue=[_instance performSelector:_selector withObject:params.params];
或者:
[_instance performSelector:_selector withObject:params.params];
我读过一篇文章,其中有人解释了使用 Objective-C 运行时的方法:
Method m = class_getClassMethod([_instance class], _selector);
char ret[256];
method_getReturnType(m, ret, 256);
NSLog(@"Return type: %s", ret);
但是输出并不像 ret 是空的。
实际上,知道它是 void 还是有返回类型就足够了,但我不知道在哪里搜索。我已经阅读了objective-c 运行时参考,但我发现的唯一内容是method_getReturnType...
. 任何想法?