Thursday, December 6, 2012

Как сделать связку объектов http://www.objcforum.org/showthread.php?s=8b83e290b4df6033b90fa1eba8193fc2&t=68

http://www.objcforum.org/showthread.php?s=8b83e290b4df6033b90fa1eba8193fc2&t=68

Добрый день, у меня тупик !!!! у меня xcode версии 4.3.2
также есть отличный мануал, но видимо предидущих версий.....но все-равно! Я создал Cocoa Application. В MainMenu.xib->Window перетащил пару кнопок и лейбел. Далее создал новый класс. Из "Object and Controllers" перетянул куб в MainMenu.xib и связал его с новым классом. 
Следующим шагом является добавление связей между кнопками и объектом нового класса. Необходимо добавить action и outlet к нему через Identity. Но я не наблюдаю там никаких секций Action ????? Все облазил и ничего - пусто ! Где мне их достать? помогите пожалуйста
Posted 25.06.2012, 13:46 #2
Привет, добавление связей между кнопками и объектом нового класса можно сделать разными способами... Опишу самый простой из них:

1. Включаешь режим Assistant Editor (кнопочка в правом верхнем углу - пиджак с бабочкой).

2. Дальше нужно чтоб этом режиме в одной половинке отображалось окно MainMenu.xib а в другой .h файл твоего класса.

3. Потом щелкаешь правой кнопкой мышки на твоей кнопке в окне MainMenu.xib и не отпуская ее тащишь на файл AppController.h под строчку @interface AppController : NSObject, когда отпускаешь появляется окошко где нужно указать Action или Outlet и название. Для кнопки выбираешь Action и задаешь название например buttonClick, а для Label'a - Outlet с названием myLabel.

Вот несколько скриншотов для наглядности:



В результате твой AppController.h долен быть примерно таким:
Код:
 #import <Foundation/Foundation.h>  @interface AppController : NSObject  @property (assign) IBOutlet NSTextField *myTextField; - (IBAction)buttonClick:(id)sender;  @end
При этом в файле AppController.m тоже должен автоматически сгенерироваться код:
Код:
 #import "AppController.h"  @implementation AppController @synthesize myTextField;  - (IBAction)buttonClick:(id)sender {                           // и тут можно уже добавлять свой код, например:     [myTextField setStringValue:@"Hello"];   } @end

No comments:

Post a Comment