gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 04:02:01 25 4
gpt4 key购买 nike

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

- (id)forwardingTargetForSelector:(SEL)aSelector;

如何将类方法也转发给另一个类? resolveClassMethod: 似乎不合适,因为我不想动态地向我的类添加方法,只是转发调用。

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

- (id)forwardingTargetForSelector:(SEL)aSelector
{
return NSClassFromString(@"TheClass");
}

它只是有点丑陋,因为代理对象必须接受实例方法,因此代理必须为其代理的类方法声明实例方法。

最佳答案

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

+ (id)forwardingTargetForSelector:(SEL)aSelector

关于objective-c - 如何在 Objective-C 中转发类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com