从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元无门槛券
手把手带您无忧上云