如何将方法参数传递给选择器

nod*_*nja 0 methods cocoa-touch arguments objective-c selector

如果我有这样的方法:

- (void) foo
{
}
Run Code Online (Sandbox Code Playgroud)

然后我可以通过这样的选择器访问它:

@selector(foo)
Run Code Online (Sandbox Code Playgroud)

但是,如果我有这样的方法怎么办:

- (void) bar:(NSString *)str arg2:(NSString *)str2
{

}
Run Code Online (Sandbox Code Playgroud)

那我该如何通过选择器访问它?

Jos*_*erg 5

要处理您应该使用的任意数量的选择器NSInvocation,但是您可以使用标准的performWithSelector函数处理最多两个对象

[foo performSelector:@selector(bar:arg2:) withObject:obj1 withObject:obj2]