Это заключительный урок по CoreData.
В этом уроке рассматривается создание графического представления той базы данных, которую мы делали в прошлых уроках на базе стандартного шаблона приложений для CoreData.
Видео к этому урок находится здесь.
Исходный файл с базой и функциями для работы с ней можно скачать в прошлом уроке 43.
Чтобы использовать базу данных из любого контроллера, удобно вынести все функции в синглтон.
Для создания синглатона создаем файл TADataManager наследника от NSObject.
В TADataManager.h создаем статический метод + (TADataManager *)sharedManager; .
В .m файле определяем этот метод. Объявляем статическую переменную типа совпадающую с типом класса и вставляем сниппет/шаблон для однократного выполнения - dispatch_once:
В этом уроке рассматривается создание графического представления той базы данных, которую мы делали в прошлых уроках на базе стандартного шаблона приложений для 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.
Прекрасный блог. 👍
ОтветитьУдалитьСкажите: чем вы пользуетесь для вставки исходного кода Obj-C в html-разметку?