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)
它有点丑陋,因为代理对象必须接受实例方法,所以代理必须为要代理的类方法声明实例方法。
在Objective-C中,类对象只是一个与其他对象一样的对象,并且以相同的方式支持转发。您正在寻找的是:
+ (id)forwardingTargetForSelector:(SEL)aSelector
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |