是否可以从选择器变量中获取参数?

时间:2014-06-18 08:09:20

标签: ios objective-c arguments selector

是否可以从选择器varibale中获取参数。

例如

-(void)methodTest:(NSString*)someArg{

    SEL selector = @selector(methodTest:);
    [self testCall:selector];
}

-(void)testCall:(SEL)selectorArg{

    //I would like to get the parameter from the selector (selectorArg)
}

我的问题: 1.选择器是否有参数someArg?如果没有,如何使用参数创建选择器变量。 2.另外还有什么方法可以做同样的事情?

很想知道。

2 个答案:

答案 0 :(得分:0)

我并不完全明白你在寻找什么,但我猜你需要什么 performSelector方法。请检查此SO主题:iOS - How to implement a performSelector with multiple arguments and with afterDelay?

答案 1 :(得分:0)

如果你创建一个选择器,如:

SEL selector = @selector(methodTest:);

这意味着(注意:)选择器需要参数。

你可以将参数传递给像这样的方法:

[self performSelector:selector withObject:argument afterDelay:0.0];

方法语法为:

- (void)methodTest:(id)someArgument;

如果选择器是通过以下语法创建的:

SEL selector = @selector(methodTest);

然后你不能将任何参数传递给这个选择器。 你可以这样打电话:

[self performSelector:selector withObject:nil afterDelay:0.0];

方法语法为:

- (void)methodTest;