Objective c 目标c返回式开关

Objective c 目标c返回式开关,objective-c,types,selector,Objective C,Types,Selector,我想使用选择器的返回类型来确定它在我的代码中的使用方式。在objective c中是否有区分返回类型的方法?我将给出一个示例 SEL selectors[]= {@selector(method1), ... //each method returns a different type @selector(methodn);} for (SEL sel in selectors) { switch [[self performSelector:sel]/*idk som

我想使用选择器的返回类型来确定它在我的代码中的使用方式。在objective c中是否有区分返回类型的方法?我将给出一个示例

SEL selectors[]=
{@selector(method1),
... //each method returns a different type
@selector(methodn);}  

for (SEL sel in selectors)  
    {
    switch [[self performSelector:sel]/*idk something here maybe?*/]
        {
        case int:
            //do some stuff
        ...
        case NSString *:
            //do some other stuff
        }
     }

提前感谢您,我在这里找不到任何关于目标c的内容,您可以通过objc运行时中的
方法\u copyReturnType
来实现


但是,返回的objc类型和参数都是相同的(上次我检查过),因此运行时不会返回描述为“NSArray”的类型——它只是objc类型的标识符。尽管如此,对于您的
int
NSString
案例来说,这种详细程度已经足够了,您可以使用NSObject实例的
类或
Iskindof类:
(等等)实例方法来确定其类型,一旦您有了句柄。

您可以使用
-methodSignatureForSelector:
获取方法的
NSMethodSignature
。然后您可以使用
-methodReturnType
NSMethodSignature
对象获取返回类型。如果没有必要,请不要干扰运行时。

严格来说,选择器没有返回类型。另一方面,方法则不起作用。