从NSInvocation获取NSString结果的方法如下:
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
[invocation setSelector:@selector(methodName)];
[invocation setArgument:&arg1 atIndex:2];
[invocation invoke];
NSString *result;
[invocation getReturnValue:&result];
NSLog(@"Result: %@", result);
完整的代码示例如下:
- (NSString *)getStringResult {
NSMethodSignature *signature = [[self class] instanceMethodSignatureForSelector:@selector(getString)];
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
[invocation setSelector:@selector(getString)];
[invocation setTarget:self];
[invocation invoke];
NSString *result;
[invocation getReturnValue:&result];
return result;
}
- (NSString *)getString {
return @"Hello, World!";
}
在这个示例中,我们定义了一个名为getString的方法,该方法返回一个NSString对象。然后,我们使用NSInvocation对象调用该方法,并获取返回值。最后,我们将返回值作为getStringResult方法的返回值。
云+社区技术沙龙[第10期]
高校公开课
Elastic 中国开发者大会
小程序云开发官方直播课(应用开发实战)
云+社区技术沙龙[第6期]
腾讯位置服务技术沙龙
腾讯云GAME-TECH沙龙
腾讯云GAME-TECH沙龙
领取专属 10元无门槛券
手把手带您无忧上云