Важность направления операции перетаскивания при настройке действий в Интерфейсном Разработчике - PullRequest
1 голос
/ 19 сентября 2010

У меня есть вопрос, касающийся важности выбора правильной начальной и конечной точек операции перетаскивания элемента управления при настройке действий с помощью Interface Builder (3.2.3).Эта проблема возникла при проработке примера во вводном тексте.В примере проекта есть очень простое графическое окно с тремя NSTextFields (т.е. Имя, Фамилия, Электронная почта) и одним NSTextView.Интерфейс для класса контроллера объявлен в заголовочном файле как:

@interface EmailController : NSObject {

 IBOutlet NSTextField *emailField;
 IBOutlet NSTextField *firstNameField;
 IBOutlet NSTextField *lastNameField;
 IBOutlet NSTextView *resultTextView;

}

- (IBAction)textFieldChanged:(id)sender;

@end

В тексте указывается, что при установке действия вы начинаете перетаскивание элемента управления в элементе управления.В частности, пример начинается с перетаскивания элемента управления из редактируемого текстового поля NSTextField «Имя» в экземпляр EmailController, где появляется маленькое черное окно и где может быть выбрано действие textFieldChanged.

После редактируемого поля «Имя»связан с действием, текст указывает читателю также подключить редактируемые поля Фамилия и Электронная почта к тому же действию.Однако в этих случаях текст заставляет читателя начать операцию перетаскивания элемента управления из маленького кружка справа от действия textFieldChanged в черном окне экземпляра контроллера и завершиться в редактируемых полях Фамилия и Электронная почта.Кажется, это противоречит тому, как я понимаю общее правило запуска на элементе управления при настройке действия.

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

Имеет ли значение, какую точку вы выберете в качестве начала при подключении элемента управления к действию?

Спасибо

1 Ответ

2 голосов
/ 20 сентября 2010

Имеет ли значение, какую точку вы выбираете в качестве начала при подключении элемента управления к действию?

номер

Ранчо Большого ботаника рекомендует всегда перетаскивать от отправителя к получателю (выход к объекту или контроль к цели), чтобы выяснить, в каком направлении будут двигаться сообщения. направление, но не усиливает направление сообщения для новых программистов Cocoa и Cocoa Touch.

(Для ясности, этот блог создан бывшим посетителем класса BNR, а не BNR или кем-либо, работающим на BNR.)

После того, как редактируемое поле «Имя» подключено к действию, текст указывает читателю также подключить редактируемые поля «Фамилия» и «Электронная почта» к тому же действию. Однако в этих случаях текст заставляет читателя начать операцию перетаскивания элемента управления из маленького кружка справа от действия textFieldChanged в черном окне экземпляра контроллера и завершиться в редактируемых полях Фамилия и Электронная почта. Кажется, это противоречит тому, как я понимаю общее правило запуска с элемента управления при настройке действия.

Одним из преимуществ способа "щелкнуть правой кнопкой мыши на действии-получателе-и-перетащить из-за действия" является то, что проще связать сразу несколько действий. Это звучит как лучшая причина, по которой учебник делает исключение, за исключением того, что другой автор или авторы (я предполагаю) с другим способом выполнения действий.

...