我想在运行时获取实例的返回值类。事情是,我有一个SEL
类型var我存储一个选择器。我有一个名为id _instance
的变量,指向一个我知道它执行选择器的实例。之前执行,我想知道的方法,如果我必须做的:获取运行时实例方法的返回值类型
NSObject* returnValue=[_instance performSelector:_selector withObject:params.params];
或:
[_instance performSelector:_selector withObject:params.params];
我读了post where someone explain the way to have that with objective-c runtime:
Method m = class_getClassMethod([_instance class], _selector);
char ret[256];
method_getReturnType(m, ret, 256);
NSLog(@"Return type: %s", ret);
但产出没有像RET是空的。
真的,它可以足以知道它是一个无效或有返回类型,但我不知道在哪里搜索。我已阅读objective-c runtime reference但我唯一发现的是method_getReturnType...
。任何想法?
你真的不想使用这种自省的任何东西,但教育实验。沿着这条道路走了疯狂和许多维修噩梦。 – bbum
感谢您的广告!如果你对如何做到这一点有更好的建议,我愿意接受;) – Jpellat
你想做什么?即你为什么需要知道这个?可能值得一个新的问题。 – bbum