Цепочка респондеров — это круто.
В частности, возможность отправлять пользовательские действия первому ответившему, которые будут всплывать всем, кто может быть заинтересован: [[UIApplication sharedApplication] sendAction: @selector(commandToSend) to: nil from: self forEvent: nil]
.
Или менее настраиваемые действия с:
[[UIApplication sharedApplication] sendAction: @selector(resignFirstResponder) to: nil from: self forEvent: nil]
Я хотел бы знать – есть ли способ проверить заранее, будет ли обработано конкретное действие от конкретного отправителя, если бы оно было отправлено сейчас? Очевидным использованием для этого было бы включение и отключение кнопок, которые отправляют действия в зависимости от того, будет ли это действие обрабатываться в данный момент.
Если вы знаете первого ответившего, я думаю, вы можете сделать [aResponder targetForAction: @selector(methodYouWantToSend) withSender: selfOrSomethingElse]
и проверить, является ли ответ нулевым или нет. Но, похоже, не существует метода, эквивалентного sendAction:…
UIApplication
, который автоматически запустится у первого ответившего и сработает.