Вопрос об оптимальном способе организации данных для приложения iphone в стиле book-esque - PullRequest
1 голос
/ 26 февраля 2010

Я бы хотел начать работу над приложением для iPhone, которое отображает содержание книг для чтения. Содержание книги доступно в Интернете и является полностью открытым исходным кодом, но я хотел бы сделать содержимое доступным на местном уровне. С приложениями, над которыми я работал ранее, а именно с iPhone OS 2.X, создание (или поиск) базы данных .sql, а затем просто выполнение запросов данных из приложения работало очень хорошо. С появлением Core Data (с которым я не очень знаком) старый метод sql может быть не идеальным. Итак, мой вопрос: каков наилучший путь для меня от онлайн-контента до локально хранящегося контента для iPhone? Независимо от того, какой подход я выберу, мне понадобится БД (верно?), Поэтому я должен взять на себя всю тяжесть этого и начать с импорта веб-контента в БД со всеми правильными таблицами и столбцами? Я думаю, с этим вопросом, я просто ищу точку в правильном направлении. Если бы у меня были какие-либо предложения о том, как лучше всего это сделать, я буду очень признателен. Спасибо!

Ответы [ 2 ]

1 голос
/ 26 февраля 2010

Базовые данные хороши, если у вас есть «объекты», которые вы хотите сделать постоянными. В случае наличия только большого количества данных для чтения / записи простой старый SQLite может быть проще.

Извините, что не могу дать более конкретного совета, но все сводится к тому, насколько сложна модель данных вашего приложения и объектные модели. Я бы порекомендовал взглянуть на Core Data, но не используйте его только потому, что все говорят вам, как это круто.

Если вы используете Core Data, вы не будете определять собственную схему базы данных SQL, поэтому не начинайте этот путь, пока не примете решение.

0 голосов
/ 26 февраля 2010

Я бы на самом деле пошел с маршрутом Core Data. Базовые данные - это просто API, предоставляемый Apple для управления постоянными данными независимо от серверной части данных (неважно, плоский ли это файл plist, файл XML или полный файл базы данных sqlite).

В случае книги вы можете разбить сущности следующим образом.

Книжная сущность

  • Заголовок, который является строковым атрибутом
  • Автор, являющийся строковым атрибутом
  • глава, которая имеет много родственных сущностей

Глава сущности

  • Заголовок, являющийся строковым атрибутом
  • страниц, которые имеют много родственных связей

Page Entity

  • PageText, который является строковым атрибутом

Затем вы можете получить доступ ко всем значениям, как если бы они были объектами, используя Базовые данные, не беспокоясь о внутреннем коде SQL и написав весь код для преобразования типов данных SQLite в объекты Какао, которые могут отображать ваши контроллеры представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...