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

У меня есть NSSearchField:

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

Вот мой doSearchQuery:

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам