Лучшая практика для работы с основными данными

Какой лучший дизайн использовать в приложении iPhone, который использует основные данные, когда у вас есть несколько контроллеров представлений, которые делают подобные вызовы для основных данных?

В настоящее время у меня есть приложение, в котором есть несколько контроллеров представлений, которые выполняют аналогичные функции, такие как добавление объектов в объект, удаление объекта и т. Д. Я полагаю, что есть несколько способов справиться с этим:

  1. У каждого контроллера представления есть собственный класс addItem: blah. Недостаток – это результат некоторых копий макарон между классами

  2. Создайте суперкласс, который имеет основные методы данных и наследует от этого класса. При необходимости переопределить

  3. Создайте категорию, чтобы все экземпляры контроллеров представлений имели эти методы без необходимости подкласса

  4. Создайте синтаксис диспетчера данных, который можно вызвать. Возможно, это будет полезно для того, чтобы я мог отправлять запросы в очередь и выполнять управление данными за пределами каждого контроллера представления. Недостаток – это похоже на плохую идею вообще

One Solution collect form web for “Лучшая практика для работы с основными данными”

CoreData и ViewControllers не должны знать друг о друге.

UIViewControllers не являются традиционными контроллерами в мире MVC. Они более тесно связаны с представлениями – и я предпочитаю их создавать с учетом этого (большинство примеров кода Apple содержат много кода ModelController – возможно, для простоты примеров).

Мне нравится создавать ModelControllers и оставлять мой ViewController управляющим моими представлениями, и я даю моему ViewControllers экземпляр моего ModelController.

Мой ModelController будет управлять моей моделью, загружать, редактировать, удалять и т. Д. … Я все еще выставляю классы Model для своих ViewControllers, но Views НИКОГДА не покидает ViewController. Вы бы никогда не увидели View в ModelController.

Преимущество этого заключается в том, что если вы позже создадите iPad-приложение – ваша модель и то, как она себя ведет, полностью независима от ваших ViewControllers, поэтому, когда вы создаете несколько новых UIViewControllers для своего iPad-приложения, вы можете подключить свои модели.

Ваш ModelController может иметь родительский класс с вашими дублирующими методами CRUD.

С другой стороны ….

Библиотека под названием MagicalRecord https://github.com/magicalpanda/MagicalRecord добавляет шаблон Active Record в NSManagedObjects.

  • Создание настраиваемого UITableView
  • как создать библиотеку PoDoFo для iOS
  • Core Location в iPhone Simulator 3.2 (iPad)
  • UICollectionReusableView меняет заголовок заголовка с анимацией
  • Eroor Использование NSPredicate с блоками в Swift «Не удалось найти перегрузку для« init », которая принимает предоставленные аргументы»
  • Загрузите UIWebView с помощью локального файла CSS
  • Отправить пользовательские заголовки с UIWebView loadRequest
  • Вызов распознавателя жестов Не работает для UIWebiew внутри UIScrollView, который находится внутри UIView
  • почему UIColor colorWithHue: Sat: Яркость производит цвет с другим оттенком как выход?
  • Есть ли библиотека распознавания рукописного ввода для IOS?
  • Не удалось поделиться ссылкой с помощью Sharekit в iphone
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.