Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Делегат приложения Objective-C iTahDoodle

0

При запуске приложения iOS производится инициализация, незаметная для пользователя. В этой фазе создается экземпляр UIApplication, который управляет состоянием приложения и обеспечивает связь с операционной системой. Также создается экземпляр BNRAppDelegate, назначаемый делегатом экземпляра UIApplication (отсюда и термин «делегат приложения» ).

В процессе запуска приложение еще не готово к выполнению работы или вводу данных. Когда эта ситуация изменяется, экземпляр UIApplication отправляет своему делегату сообщение application:didFinishLaunchingWithОptions:. Этот метод очень важен. Именно в нем выполняются все действия, которые должны быть выполнены до того, как пользователь начнет взаимодействие с приложением.

В приложении iТahDoodle одной из операций, выполняемых в этом методе,

должен быть поиск списка свойств и загрузка его в массив. В файле BNRAppDelegate.m уже имеется готовая заглушка для метода application: didFinishLaunchingWithОptions:. Найдите ее и замените код в фигурных скобках следующим:

-­‐   (BOOL)application:(UIApplication  *)application didFinishLaunchingWithOptions:(NSDictionary      *)launchOptions

{

// попытка загрузки существующего списка задач

// из массива, хранящегося на диске.

NSArray *plist = [NSArray arrayWithContentsOfFile:docPath()]; if (plist) {

// если набор данных существует, он копируется в переменную экземпляра.

tasks = [plist mutableCopy];

} else {

// в противном случае просто создаем пустой исходный набор.

tasks = [[NSMutableArray alloc] init];

}

}

Заметили  #pragma mark в  начале  кода?  Программисты  Objective-C  часто

используют эту конструкцию для группировки методов в классах. Xcode тоже знает о ее существовании. На панели навигации в верхней части редактора найдите элемент справа от BNRAppDelegate.m. (Возможно, он содержит текст @implementation AppDelegate, но содержимое зависит от текущего местонахождения курсора в коде.) Щелкните на элементе; Xcode выведет список позиций в этом файле. Если щелкнуть на любой из предложенных позиций, вы перейдете прямо к соответствующему месту кода. Обратите внимание на присутствие в списке директивы pragma mark. Этот способ перемещения чрезвычайно удобен, когда класс содержит много методов.

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

По теме:

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