Как я могу передать параметр в селектор? - PullRequest
3 голосов
/ 07 декабря 2010

У меня есть NSSearchField:

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

Вот мой doSearchQuery:

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

Как передать содержимое моего поля поиска в doSearchWithQuery?

1 Ответ

4 голосов
/ 07 декабря 2010

Вы не можете делать именно то, что вы описываете.Селектор ничего не делает и не принимает никаких параметров - это просто имя сообщения для отправки.Вы можете передавать аргументы только тогда, когда вы действительно отправляете сообщение.Тем не менее, элементы управления всегда передают себя в качестве аргумента своих действий, поэтому вам нужен метод-обёртка следующего содержания:

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

И установите это как действие.

...