1

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

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

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

4

2 回答 2

6

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

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

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

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

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

于 2012-07-15T03:54:44.007 回答
4

如果它只有一个参数,您可以将其与参数一起传递withObject:

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

于 2012-07-15T03:44:11.637 回答