我需要在运行时获取方法的参数类。
有一种方法
- (const char *)getArgumentTypeAtIndex:(NSUInteger)idx;
在 NSMethodSignature 中,但它只返回 @ 如果它是对象。我需要获取这个对象的类,实际检测这个对象是否是 NSArray。实现这一目标的可能性有哪些?
我需要在运行时获取方法的参数类。
有一种方法
- (const char *)getArgumentTypeAtIndex:(NSUInteger)idx;
在 NSMethodSignature 中,但它只返回 @ 如果它是对象。我需要获取这个对象的类,实际检测这个对象是否是 NSArray。实现这一目标的可能性有哪些?
很久以前我试过这个。所以花了一些时间回复搜索代码。无论如何,这里是信息。
NSMethodSignature 类的getArgumentTypeAtIndex 和methodReturnType 的返回数据将是“AC 字符串编码Objective-C 类型编码中方法的返回类型”。- 根据文档。
所以需要检查返回的char数据,通过下表找到合适的类型。
我想检查编码表会给你答案!
快乐编码:)
你试过这个吗?
if ([object_you_wanna_check isKindOfClass:([NSArray class])])
尝试
if ([obj isKindOfClass:[MyMclass class]]) {
//enter code here
}
或者
if ([obj respondToSelector:@selector(myRequiredSelector)]) {
//enter code here
}