gpt4 book ai didi

objective-c - 对于 Objective-C ... 指向方法的指针

转载 作者:太空狗 更新时间:2023-10-30 03:34:48 25 4
gpt4 key购买 nike

我想设置一个方法调度表,我想知道是否可以在 Objective-C 中创建指向方法的指针(就像 C 中指向函数的指针)。我尝试使用一些 Objective-C 运行时函数来动态切换方法,但问题是它会影响所有实例。

由于我是 Objective-C 的新手,因此非常感谢一个插图示例。

最佳答案

Objective-C 方法称为选择器,由SEL 数据类型表示。如果您的对象继承自 NSObject,您可以告诉它执行一个选择器(即调用一个方法),如下所示:

SEL selector = @selector(doSomething:);
[obj performSelector:selector withObject:argument];

这假设您定义了一个方法,例如:

-(void)doSomething:(MyObject*)arg;

选择器通过 @selector 关键字分配给 SEL 数据类型,该关键字采用您想要保留的方法的名称。方法的名称是去除所有参数的方法名称。例如:

-(void)doSomething:(MyObject*)arg withParams:(MyParams*)params

将被引用为 @selector(doSomething:withParams:)

关于objective-c - 对于 Objective-C ... 指向方法的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1083477/

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