我知道可以这样调用方法:
NSString *string =@"methodName";
[self performSelector:NSSelectorFromString(string)];
并且它会执行下面的方法:
-(void)methodName
{
// todo:.....
}
我想知道如何调用具有以下参数的方法:
-(void)methodNameNSString *)_name :withValue (NSString *) value
{
// todo:.....
}
你可以使用 -performSelector:withObject:
NSDictionary *dic = @{@"name""stringName",@"value""12"};
NSString *string =@"methodName:";
[self performSelector:NSSelectorFromString(string) withObject:dic];
并在 -methodName:
-(void) methodNameid)obj
{
NSDictionary *dic = (NSDictionary *)obj;
[self methodName:dic[@"name"] withValue:dic[@"value"]];
}
关于objective-c - 动态调用带参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14064684/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |