我想在运行时获取有关实例方法中参数类型的信息。
例如,如果我有方法:
- (void)doSomethingWithItem:(Item *)item usingName:(id<Type2>)name;
我想在此处检索Item
和id<Type2>
。
有没有办法做到这一点,或者在运行时没有可用于参数的类型信息?
答案 0 :(得分:2)
有“运行时”方法参数类型信息,基本上是NSMethodSignature class全部。但是,所有Objective-C类型(即Item*
和id<Type2>
)在编译时都会被id
混淆,即您无法区分不同的id
子类型。