Вопрос

У меня следующие требования:

  1. Получить действие, связанные с NSButton с использованием : - (SEL)action
  2. Назовите полученные действия.

Можем ли мы выполнить 2-й PT. Как правило, мы вызываем действие, как это- [self abc:nil] Просто думая, если мы сможем вызвать метод, полученный из 2-го PT. так же!

Это было полезно?

Решение

Пытаться:

SEL actionSelector = [button action];
[self performSelector: actionSelector withObject:nil];

Другие советы

Действие просто селектор - имя метода. Любое количество объектов может иметь метод на этот имен, и даже если только один класс реализует метод, у вас может быть любое количество экземпляров этого класса. Итак, вы не можете просто назвать имя метода, потому что это не выражает, какой объект будет реагировать на него. Вам нужен объект, который реализует этот метод, и вам нужно отправить это сообщение на это имя на этот объект.

Наиболее вероятный объект, который вы хотите отправить сообщение о действии, - это цель кнопки, поэтому получите это, так же, как вы получили свои действия и отправьте сообщение на этот объект. Или еще лучше, отправьте кнопку а. performClick: сообщение; Если вы хотите моделировать пользователь, нажав кнопку, это способ сделать это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top