Форум программистов, компьютерный форум CyberForum.ru

Покритикуйте мой метод работы с CoreData - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Показать loader пока image не загрузился http://www.cyberforum.ru/ios-dev/thread1006290.html
доброе утро! загружаю картинку из интернета таким способом. UIImage *pImage=]];; ; но как отобразить loader пока фотография в 1мб загрузится? подскажите, пожалуйста.
Программирование iOS Photopicker руками Недавно начал изучать программирование под ios. пока тренируюсь в xcode 4.2 . Хочу написать фотопикер(примерно как оригинальное приложение для просмотра фотографий). в ios 6 и далее для этого есть Collection View . для ios 5 такового нет. и вообще хотелось бы самому понять ,как можно его написать. пока делаю все программно ,без IB. я так понял он делается в tableview. Может у кого -нибудь есть... http://www.cyberforum.ru/ios-dev/thread1002060.html
О дублировании target Программирование iOS
Сегодня появилась задача продублировать один из таргетов приложения, переименовать его и внести небольшие коррективы в код. В офисе, где работаю, сидит два джуниора, и я один из них. Пошел в Гугл, сразу нашел две инструкции, делаю - не получается. То есть, новый таргет создается, устанавливается, но при установке заменяет собой то приложение, с которого снималась копия. Спустя несколько попыток...
Программирование iOS Нужен разработчик
Добрый день. Надо написать приложение для ios. Не очень сложное с технической стороны, но требуется его внедрение на сайт. 1. Изначально оно планируется как бесплатное, с последующим переходом на платный режим. (следующие редакции) 2. Приложение ставит своей целью изучение иностранных языков. 3. Требуется написать не только код, но и сделать графическую часть с анимацией. 4. Цена,...
Программирование iOS Профессиональная разработка приложений под iOS, Android, WindowsPhone http://www.cyberforum.ru/ios-dev/thread994348.html
Профессиональное программирование С/С++, Objective-C, Java Занимаюсь разработкой качественных приложений, для мобильных операционных систем: iOS, Android, WindowsPhone. Общий опыт программирования - более 15 лет. Опыт разработки под мобильные ОС - более 7 лет (начиная с Palm OS) Есть огромный опыт в области разработки: Успешных игр, мобильных магазинов, новостных приложений, навигаторов,...
Программирование iOS Очень легко) Передача переменной ) Я только начал программировать. Можете подсказать, пожалуйста, если у меня есть переменная в одном контролере. Как мне передать ее в другой контролер :) подробнее

Показать сообщение отдельно
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225

Покритикуйте мой метод работы с CoreData - Программирование iOS

13.11.2013, 22:44. Просмотров 531. Ответов 5
Метки (Все метки)

Всем привет!

Решил устроить для самообучения серию экспериментов с CoreData, и возникла идея организовать работу с этим фреймворком немного нестандартным методом. Настораживает тот факт, что во всех примерах в интернете структура проектов с использованием CoreData имеет, фактически, один и тот же вид, а моя реализация от него сильно отличается.
Был бы рад, если бы мне вкратце указали, почему мой подход неправильный)) Либо подтвердили, что таким образом работать можно, и ничего плохого не случится.

Итак, с чего все началось: я очень люблю модульность в проекте, когда каждый отдельный класс, либо группа классов выполняет одну какую-то функцию, и не перемешивает в себе разный функционал. И мне очень не нравилось, хотя бы чисто визуально, что во всех примерах на тему "Введение в CoreData", что в файлах AppDelegate.h/.m находятся все эти ObjectContext, ObjectModel и т.д.
И я решили попробовать сделать так:

1. Создать отдельный класс-синглтон с именем, например, CoreDataManager.
2. В нем реализовать все необходимые стандартные методы для CoreData (managedObjectContext, managedObjectModel, и т.д.)
3. В нем же реализовать методы доступа вида:
Objective-C
1
2
(NSMutableArray *)fetchAllItemsByClass:(Class)classToFetch sortBy:(NSString *)sortKey
(BOOL)insertNewItem:(id)item
В методе insertNewItem я определяю, объект какого класса мне пришел на вход, и соответствующим образом сохраняю его поля.
В методе fetchAllItemsByClass аналогично определяю класс, объекты которого мне надо достать из БД, и выполняю чтение.
(пока реализовал самый примитивный функционал, чтобы проверить работоспособность)

Получается, я в любом файле проекта могу подключить всего один h-файл, взять instance моего CoreDataManager и легко записать/прочитать из него данные. И весь код по работе с CoreData у меня лежит в одном единственном классе.
Создал новый проект - подключил фреймворк, перенес мой "менеджер", в нем реализовал разбор классов, которые буду читать/сохранять в БД, и можно работать. Так я это вижу))

Как вы считаете, стоит расширять такой "менеджер", чтобы сделать его максимально универсальным, или сам подход в корне не верный?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru