在Objective-C中我知道你可以将选择器从一个实例转发到另一个实例:
- (id)forwardingTargetForSelector:(SEL)aSelector;
如何将类方法转发给另一个类? resolveClassMethod:
似乎不合适,因为我不想动态地向我的班级添加方法,只是转发呼叫。
编辑:到目前为止,我所拥有的最好的是创建一个将其选择器转发给类对象的实例,如下所示:
- (id)forwardingTargetForSelector:(SEL)aSelector
{
return NSClassFromString(@"TheClass");
}
它只是有点丑陋,因为代理对象必须接受实例方法,所以代理必须为它代理的类方法声明实例方法。
答案 0 :(得分:5)
在Objective-C中,类对象就像任何其他对象一样,并以相同的方式支持转发。你在寻找的是:
+ (id)forwardingTargetForSelector:(SEL)aSelector