如何在Objective-C中转发类方法?

Max*_*iel 4 proxy forwarding objective-c

在Objective-C中,我知道您可以将选择器从一个实例转发到另一个:

- (id)forwardingTargetForSelector:(SEL)aSelector;
Run Code Online (Sandbox Code Playgroud)

如何将类方法转发到另一个类?resolveClassMethod:似乎不合适,因为我不想向类动态添加方法,只需转发调用即可。

编辑:到目前为止,我最好的是创建一个实例,将其选择器转发到类对象,如下所示:

- (id)forwardingTargetForSelector:(SEL)aSelector
{
    return NSClassFromString(@"TheClass");
}
Run Code Online (Sandbox Code Playgroud)

它有点丑陋,因为代理对象必须接受实例方法,所以代理必须为要代理的类方法声明实例方法。

CRD*_*CRD 6

在Objective-C中,类对象只是一个与其他对象一样的对象,并且以相同的方式支持转发。您正在寻找的是:

+ (id)forwardingTargetForSelector:(SEL)aSelector
Run Code Online (Sandbox Code Playgroud)