OStack程序员社区-中国程序员成长平台

标题: objective-c - 动态调用带参数的方法 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 00:13
标题: objective-c - 动态调用带参数的方法

我知道可以这样调用方法:

 NSString *string =@"methodName";
[self performSelector:NSSelectorFromString(string)];

并且它会执行下面的方法:

-(void)methodName
   {
              // todo:.....
   }

我想知道如何调用具有以下参数的方法:

-(void)methodNameNSString *)_name :withValue (NSString *) value
     {
              // todo:.....
     }



Best Answer-推荐答案


你可以使用 -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