Как я могу передать параметр в селектор?
У меня есть NSSearchField:
[searchField setAction:@selector(doSearchWithQuery:)];
Вот мой doSearchQuery:
-(void)doSearchWithQuery:(NSString*)query{
Как я могу передать содержимое моего поля поиска в doSearchWithQuery?
1 ответ
Решение
Вы не можете сделать именно то, что вы описываете. Селектор ничего не делает и не принимает никаких параметров - это просто имя сообщения для отправки. Вы можете передавать аргументы только тогда, когда действительно отправляете сообщение. Тем не менее, элементы управления всегда передают себя в качестве аргумента своих действий, поэтому вам нужен метод-обёртка по следующим направлениям:
- (void)doSearchFromSearchField:(NSSearchField *)sender {
[self doSearchWithQuery:[sender stringValue]];
}
И установите это как действие.