Стоит ли использовать базовые данные для простого приложения sqlite на iphone с одной таблицей и без взаимосвязей или сложных подтаблиц / представлений?
Отныне нужно ли использовать базовые данные в качестве оболочки для небольшого приложения для iphone с базой данных sqlite для одной таблицы?
Это излишне усложняет вещи или это хорошая практика для использования с этого момента?
5 ответов
Да, я думаю, что Core Data не является сложным API - и предоставляет доступ ко многим мощным функциям.
Мне пришлось принять то же решение, что и вы - я потратил полдня на Core Data и был очень рад.
Приложение, которое начинается с одной таблицы, может быстро стать большим, и если вы не будете опираться на прочную основу, вы обнаружите, что в будущем у вас возникла огромная головная боль - просто чтобы сэкономить время.
Да, это хорошая практика - вы будете очень благодарны за выбор маршрута Core Data.
Это стоит того.
- Ваша модель с одним столом может стать более сложной в будущей версии. CoreData имеет некоторые средства для обработки миграции, когда базовая модель изменилась.
- Это позволяет вам использовать NSFetchedResultsController, если вы используете UITableView. Вам почти не придется кодировать что-либо, связанное с постоянством, и это гарантирует, что у вас никогда не будет больше объектов в памяти, чем вам действительно нужно для отображения.
- Это удастся отменить для вас. Бесплатно.
Стоит пару часов почитать учебник и справочник, ИМХО.
Я говорил это раньше. Посмотрите, как просто сохранить ваши данные в простой файл PLIST. Я знаю несколько приложений, которые делают это сегодня в магазине приложений, и в этом нет ничего плохого.
По сути, вы можете взять объект NSDictionary и с помощью нескольких строк сохранить его как PLIST или перезагрузить его содержимое из PLIST.
CoreData великолепен, и я использую его в более сложном приложении, но есть много, чтобы изучить, и я думаю, что это больше 3 проекта, чем полдня.
Если бы я создавал приложение с нуля или в любом случае делал серьезную доработку, я бы посмотрел на Core Data одновременно.
В противном случае, если он не сломался...
Базовые данные - это структура для построения компонента модели архитектуры модель-представление-контроллер (MVC). Таким образом, его целью является управление графом экземпляров объектов, и это, пожалуй, лучшая инфраструктура управления графами объектов, доступная на любой платформе. Так получилось, что Core Data также может сохранить этот граф объектов на диске. Если вас не волнует точная схема базы данных (или то, как именно ваша объектная модель сохраняется на диске), вам следует очень тщательно рассмотреть возможность использования Core Data.