2010-12-07 84 views
3

我有一个NSSearchField:如何将参数传递给选择器?

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

这里是我的doSearchQuery:

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

我如何通过我的searchfield的内容到doSearchWithQuery?

回答

4

你不能完全按照你所描述的来做。选择器不会什么或接受任何参数 - 它只是要发送的消息的名称。当你实际上发送消息时,你只能传递参数。然而,控制总是传递自己作为参数传递给他们的行动,所以你需要的是沿着这些线路的包装方法:

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

,并设置为行动。