Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Сохранение задач iTahDoodle

0

В iTahDoodle осталось реализовать последнюю функцию. Естественно, когда пользователь закрывает приложение, он рассчитывает на то, что список задач будет сохранен для использования в будущем.

Когда приложение Сосоа Touch завершается или переходит в фоновый режим,

оно отправляет своему делегату сообщение из протокола UIАррliсаtiоnDеlеgаtе, чтобы делегат мог заняться делом и корректно от- реагировать на эти события. В файле BNRAppDelegate.m заполните заглушки двух методов делегата, обеспечивающих сохранение списка:

-­‐       (void)applicationDidEnterBackground:(UIApplication     *)application

{

// этот метод вызывается только в iOS 4.0+

// сохранение массива tasks на диске

[tasks writeToFile:docPath() atomically:YES];

}

-­‐      (void)applicationWillTerminate:(UIApplication     *)application

{

// Этот метод вызывается только в версия iOS до 4.0

// Сохранение массива tasks на диске

[tasks writeToFile:docPath() atomically:YES];

}

Постройте и запустите готовое приложение. Это упражнение всего лишь дает первое представление о программировании для iOS. Вам предстоит узнать намного, намного больше.

Для самых любопытных: как насчет main()?

В самом начале своего знакомства с С и Objective-C вы узнали, что точкой входа в код программы является функция main(). Это утверждение абсолютно справедливо и для программирования Сосоа/Сосоа Touch, хотя в приложениях Сосоа и Сосоа Touch эта функция редактируется крайне редко. Чтобы понять, почему, откройте файл main.m:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([BNRAppDelegate class]));

Прямо скажем, не впечатляет. Всего одна строка реального кода?

Функция UIApplicationMain() создает объекты, необходимые для работы вашего приложения. Сначала она создает единственный экземпляр класса UIApplication. Далее создает экземпляр класса, определяемого четвертым (последним) аргументом, и назначает его делегатом приложения. Делегату будут отправляться различные сообщения: о нехватке памяти, о завершении или переходе в фоновый режим приложения, о завершении процесса запуска.

Так                  функция                   main()         связывается                  с

application:didFinishLaunchingWithOptions: и кодом вашего приложения.

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

По теме:

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