【问题标题】:How to perform selectors with an argument?如何使用参数执行选择器?
【发布时间】:2012-07-15 03:42:33
【问题描述】:

如何使用参数执行选择器?这是我的代码:

SEL methods=NSSelectorFromString([arrayWithMethods objectAtIndex:i]);
[self performSelector:methods withObject:self afterDelay:MAN_SPEED*i];

如果我的选择器方法有参数,我该如何指定?

【问题讨论】:

    标签: ios objective-c xcode selector


    【解决方案1】:

    零参数选择器的字符串如下所示:

    arrayWithMethods = [NSArray arrayWithObjects:@"myMethod", ... nil]
    

    如果它有一个参数,则在方法名称后添加一个冒号来指定:

    arrayWithMethods = [NSArray arrayWithObjects:@"myMethod:", ... nil]
    

    现在您的 myMethod 将通过“self”(因为这就是您作为“with object”传递的内容。

    【讨论】:

      【解决方案2】:

      如果它只有一个参数,您可以使用参数withObject: 传递它

      如果它有超过 1 个参数,您将需要一个包装器对象来使用相同的参数传递它。

      【讨论】:

      最近更新 更多