Intereting Posts
Центрирование элементов в файле Xib Я правильно использую инструмент профилирования времени? Показывать пустое место внизу, когда я использую TabBarController наверху Swift – альтернатива dispatch_after Инструменты распределения для iOS: сравните память двух снимков Отладка объединенных основных анимаций Навигационная панель не анимируется при использовании полупрозрачного штрих-кода Какова наилучшая стратегия для трансляции 500 тыс. Push-уведомлений сразу через минимальную задержку мобильной связи AWS SNS? 3D в веб-браузере на Ipad Google Admob для iOS. Когда и как появятся реальные объявления? Определите версию iPhone iOS, подключенную к Mac Как скопировать или вычесть CGMutablePathRf другим CGMutalbePathRef? Интерполируйте двойную строку в строку Swift UILabel с фоном, который обертывает линии Какими значениями может управлять команда CAActionActionForKey: object: arguments: arguments?

Множественные таблицы и отношения

Какой лучший способ и как работать с краткими таблицами в проекте iOS и поддерживает ли FMDB отношения между таблицами? Должен ли я использовать Coredata или оболочку FMDB?

Независимо от того, что вы хотите сделать, вы можете использовать либо Core Data, либо FMDB + SQLite.

В принципе, если одно из следующих утверждений верно, я предлагаю использовать SQLite.

  • Производительность действительно важна
  • У вас уже есть огромная база данных SQLite из других источников
  • Вы планируете как-то сделать кросс-платформу базы данных

Взгляните на это сообщение в блоге, чтобы узнать о различии между SQLite и Core Data.

Однако в большинстве случаев Core Data – лучший способ пойти. Core Data – отличная структура, которая помогает вам поддерживать последовательность (используя графические объекты) и действительно очень проста в использовании. Он получил плохую репутацию за свою работу, но на самом деле это не так уж плохо. Например, чрезмерная выборка – это обычная вещь, которая используется для повышения производительности. Это означает получение большого количества данных, а затем фильтрацию данных, которые вы действительно хотите. Это отлично работает на устройствах iOS, так как их оперативная память на самом деле действительно хороша в наши дни. Используй это!

Кроме того, если вы планируете использовать Core Data, вы должны понимать, что это не оболочка для SQLite. Вы не должны думать о таблицах, как обычно. В Core Data у вас есть граф объектов с сущностями вместо таблиц.

Вывод:

Используйте Core Data, если у вас уже нет базы данных SQLite в другом месте, или производительность имеет большое значение (и я имею в виду много).

Для этого нет ни одного хорошего вопроса. Это зависит от проекта.

На мой взгляд, если у вас уже есть данные, которые вы хотите импортировать в приложение, и вы столкнетесь с огромным количеством данных в своей базе данных, вы должны пойти на чистый sqlite (и, возможно, на FMDB).

Если вы подключаетесь к REST, хотите использовать TableViews, начиная с пустой базы данных, CoreData вернет вам ответ.

FMDB – это только оболочка на sqlite поэтому у него будут отношения, потому что у sqlite есть.