член-делегат в NSMenu - PullRequest
       25

член-делегат в NSMenu

0 голосов
/ 25 февраля 2012

Насколько я понимаю, делегирующий класс - это тот, который всегда наследуется от NSResponder класса, а delegate доступен только для классов, которые наследуются от NSResponder. NSMenu наследуется напрямую от NSObject, так почему же я вижу deletgate в outlets? Или это я неправильно понял параметры, которые вы видите после нажатия Ctrl + клик на объекте в Интерфейсном Разработчике? Я вижу Outlets, Referencing outlets, Received Actions, что они тогда значат? Я использую Xcode 4 (10.7.3), если это имеет значение.

1 Ответ

0 голосов
/ 25 февраля 2012

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

На самом деле, вам рекомендуется использовать шаблон делегирования в ваших собственных классах.

NSMenu объявляет свое свойство delegate как выход в заголовке, поэтому вы видите его в Интерфейсном Разработчике. Вы можете сделать то же самое в своем собственном коде так:

@interface YourObject : NSObject {}
@property (weak) IBOutlet id delegate;
@end

В Интерфейсном Разработчике Outlets относится к розеткам, которые определены в заголовке вашего класса и которые вы можете подключать к другим объектам. Referencing Outlets и Referencing Actions соединения от других объектов до вашего объекта.

...