如何将方法参数传递给选择器
如果我有这样的方法:
- (void) foo
{
}
那么我可以通过这样的选择器访问它:
@selector(foo)
但是如果我有这样的方法怎么办:
- (void) bar:(NSString *)str arg2:(NSString *)str2
{
}
那么我如何通过选择器访问它?
If I have a method like this:
- (void) foo
{
}
Then I can access it through a selector like this:
@selector(foo)
But what if I have a method like this:
- (void) bar:(NSString *)str arg2:(NSString *)str2
{
}
Then how do I access it through a selector?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要处理任意数量的选择器,您应该使用 NSInitation,但您可以使用标准的 PerformWithSelector 内容处理最多两个对象
[foo PerformSelector:@selector(bar:arg2:) withObject:obj1 withObject:obj2]
To handle an arbitrary number of selectors you should use
NSInvocation
, but you can handle up to two objects using the standard performWithSelector stuff[foo performSelector:@selector(bar:arg2:) withObject:obj1 withObject:obj2]
删除空格、参数类型和参数名称。在您的示例中,这将变为:
Remove the spaces, parameter types, and parameter names. In your example, this would become: