Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Редактирование файла BNRDocument.h – настольное приложение Сосоа

0

Откройте файл ВNRDоситепt.h, включите в него метод и две переменные экземпляра: todoItems – изменяемый массив строк, а itеmТablеViеw – указатель на объект NSТаblеViеw, в котором отображаются строки из todoItems. Также объявите, что BNRDocument поддерживает протокол NSТаblеViеwDаtаSоuгсе.

#import <Cocoa/Cocoa.h>

@interface BNRDocument : NSDocument <NSTableViewDataSource> { NSMutableArray *todoItems;

IBOutlet NSTableView *itemTableView;

}

-­‐          (IBAction)createNewItem:(id)sender;

@end

Обратите внимание: у кнопки Insert нет переменной экземпляра. (Вскоре вы поймете, почему.) Тем не менее этой кнопке назначено действие – метод createNewItem:.

В предыдущей главе приемником действия кнопки был экземпляр класса делегата приложения, BNRAppDelegate. Документно-базированное приложение не имеет объекта делегата приложения, а в основу его архитектуры заложен субкласс NSDocument. Для приложения TahDoodle это класс BNRDocument.

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

TahDoodle могут существовать сразу несколько экземпляров BNRDocument (несколько списков задач). Каждый экземпляр имеет собственное табличное представление, кнопку, массив tasks и окно. Каждый экземпляр реагирует на сообщения независимо от других, и каждый экземпляр является приемником своей кнопки.

Во  введенных  вами  объявлениях  также  появились  два  новых  обозначения:

IBOutlet и IBAction. Они сообщают Xcode:. Это указатель (IBOutlet) или метод действия (IBAction), для связывания которых разработчик будет использовать Interface Builder – вместо связывания на программном уровне».

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии