【问题标题】:How can I pass a parameter to a selector?如何将参数传递给选择器?
【发布时间】:2010-12-07 09:03:39
【问题描述】:

我有一个 NSSearchField:

[searchField setAction:@selector(doSearchWithQuery:)];

这是我的 doSearchQuery:

-(void)doSearchWithQuery:(NSString*)query{

如何将搜索字段的内容传递给 doSearchWithQuery?

【问题讨论】:

    标签: objective-c cocoa parameters nssearchfield


    【解决方案1】:

    您无法完全按照您的描述进行操作。选择器不任何事情或接受任何参数——它只是要发送的消息的名称。您只能在实际发送消息时传递参数。但是,控件总是将自己作为参数传递给它们的操作,因此您需要一个包装器方法,如下所示:

    - (void)doSearchFromSearchField:(NSSearchField *)sender {
        [self doSearchWithQuery:[sender stringValue]];
    }
    

    并将其设置为操作。

    【讨论】:

      猜你喜欢
      • 2012-08-31
      • 2022-01-18
      • 2011-04-22
      • 1970-01-01
      • 2018-11-06
      • 2017-09-01
      • 1970-01-01
      相关资源
      最近更新 更多