- OBJCExternInterface * ibjInter = [[OBJCExternInterface alloc] init]; //定义类的实例
- SEL theSelector;
- NSMethodSignature *aSignature;
- NSInvocation *anInvocation;
- theSelector = @selector(ReadFromFile:); //选择一个方法
- aSignature = [OBJCExternInterface instanceMethodSignatureForSelector:theSelector]; //得到类和方法的方法信号
- anInvocation = [NSInvocation invocationWithMethodSignature:aSignature]; //调用方法信号
- [anInvocation setSelector:theSelector]; // 设立方法
- [anInvocation setTarget:ibjInter]; //设置目的实例
- [anInvocation setArgument:&arrParameters atIndex:2];//设置参数(1个参数的方法 index 为2,1为隐藏参数),可设置多个参数
- id result;
- [anInvocation invoke]; //调用方法
- [anInvocation getReturnValue:&result]; //完成调用设置调用返回值
使用NSInvocation 调用实例的方法,且等待获得返回值
Objective-C 动态方法调用
最新推荐文章于 2025-04-25 16:42:12 发布
本文介绍如何使用 Objective-C 的运行时特性来动态调用类的方法,包括选择方法、获取方法签名、创建并设置 NSInvocation 对象等步骤。
822

被折叠的 条评论
为什么被折叠?



