我知道可以这样调用方法:
NSString *string =@"methodName";
[self performSelector:NSSelectorFromString(string)];
并且它会执行下面的方法:
-(void)methodName
{
// todo:.....
}
我想知道如何调用具有以下参数的方法:
-(void)methodNameNSString *)_name :withValue (NSString *) value
{
// todo:.....
}
Best Answer-推荐答案 strong>
你可以使用 -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/
|