воскресенье, 17 июля 2016 г.

44. CoreData Part 4 FRC

Это заключительный урок по CoreData.
В этом уроке рассматривается создание графического представления той базы данных, которую мы делали в прошлых уроках на базе стандартного шаблона приложений для CoreData.
Видео к этому урок находится здесь.
Исходный файл с базой и функциями для работы с ней можно скачать в прошлом уроке 43.

Чтобы использовать базу данных из любого контроллера, удобно вынести все функции в синглтон.
Для создания синглатона создаем файл TADataManager наследника от NSObject.

В  TADataManager.h создаем статический метод   + (TADataManager *)sharedManager; .
В .m файле определяем этот метод. Объявляем статическую переменную типа совпадающую с типом класса  и  вставляем сниппет/шаблон для однократного выполнения - dispatch_once:

+ (TADataManager *)sharedManager
{
    static TADataManager *manager = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        manager = [[TADataManager alloc] init];
    });
    return manager;

}

Код внутри блока выполнится один раз в течении жизни приложения. Это сделано, чтобы другие потоки не смогли одновременно обратиться  к свойству manager.

Теперь при вызове     TADataManager *sharedManager = [TADataManager sharedManager];
Мы получаем один и тот же  объект для работы с базой.
Этот объект не будет удаляться из памяти и будет жить до закрытия приложения.

Теперь перенесем, все что касается CoreData из AppDelegate в TADataManager.


Исходный код (незакончено) проекта к 44 уроку.

1 комментарий:

  1. Прекрасный блог. 👍

    Скажите: чем вы пользуетесь для вставки исходного кода Obj-C в html-разметку?

    ОтветитьУдалить