Новое в основных данных для iphone - PullRequest
9 голосов
/ 01 ноября 2009

Я новичок в платформе iphone и создаю приложение, которое получает RSS-канал и отображает его в UITableView. Я получил это работает отлично (точнее, так, как я хотел). Я думал о том, что буду хранить текущие элементы канала на телефоне, чтобы он первоначально загружал старые элементы, которые он сохранил, пока он получал новый канал, затем анализировал новый канал, добавлял новые элементы и обновлял TableView. Я собирался использовать Базовые Данные для хранения старых элементов фида, потому что это был бы хороший способ изучения Базовых Данных и надлежащего использования Базовых Данных. Однако мне сложно научиться использовать базовые данные и связать их с таблицей / массивом.

Я уже погуглил и посмотрел на stackoverflow для учебных пособий, но еще не нашел ничего, что объясняет это так, как я действительно понимаю. Будем весьма благодарны за любые объяснения общих шагов, которые необходимо предпринять для добавления базовых данных в существующее приложение. Полные детали не нужны (но также были бы полезны). Я просто не очень разбираюсь в SQL или в хранении данных таким образом, и у меня возникают проблемы, когда я не могу понять, как работает вся концепция Core Data и как она связана со всем.

Кроме того, любой лучший способ сделать то, что я пытаюсь сделать, также будет оценен.

Ответы [ 5 ]

8 голосов
/ 01 ноября 2009

Существуют шаблоны Xcode для приложений на основе Core Data; это отличное начало для получения основных данных с нуля. Однако, похоже, что вы хотите интегрировать базовые данные в существующее приложение, поэтому вам нужно ...

  • Добавьте три основных объекта базовых данных: контекст управляемого объекта (MOC), модель управляемого объекта (MOM) и координатор постоянного хранилища (PSC). Они должны быть доступны везде, где вы хотите, чтобы базовые данные были доступны, так что либо в делегате вашего приложения, либо, более предпочтительно, в контроллере или источнике данных для табличного представления.
  • Создать MOM в Xcode. Это будет файл типа .xcdatamodel, и это граф объектов, который определяет все сущности базовых данных, которые вы хотите использовать в своем приложении.
  • Используйте NSFetchedResultsController (как предложил Луи Гербарг), чтобы извлечь данные из Core Data и отобразить их в виде таблицы.
  • Добавьте код в существующие подпрограммы получения и анализа RSS для сохранения новых объектов Core Data в хранилище, когда это необходимо.

Хороший способ начать - просто создать новое приложение Core Data и поэкспериментировать с ним; Вы также можете взглянуть на фантастические ресурсы Apple по этому вопросу, такие как Руководство по программированию основных данных и примеры приложений Рецепты и Локации . (Может потребоваться регистрация разработчика.)

Последнее, на что следует обратить внимание, - это то, что большую часть кода Core Data, который вам нужно добавить, можно скопировать прямо из одного из шаблонных приложений Xcode и вставить в вашу программу (это особенно верно для средства доступа к трем основным объектам данных, которые вам нужны). Будьте осторожны, чтобы не использовать код, который вы не понимаете.

3 голосов
/ 01 ноября 2009

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

1 голос
/ 01 ноября 2009

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

да, похоже, что базовые данные могут быть излишними для вашего приложения. Предполагая, что элементы вашего канала хранятся в объекте коллекции, вы можете легко использовать OSX , встроенную в сериализацию .

1 голос
/ 01 ноября 2009

NSFetchedResultsController все еще немного глючит и требует хрупких обходных путей. Я бы начал с более простого учебника по «местонахождению» основных данных iPhone, а затем перешел к учебнику «Книги».

0 голосов
/ 01 декабря 2009

Было отмечено в других публикациях Stack-Overflow, но я настоятельно рекомендую книгу Prag Prog "Основные данные: API Apple для хранения данных в Mac OS X" - большинство также относится к приложениям для iPhone Core Data; Также есть целая глава о создании приложения для iPhone.

http://pragprog.com/titles/mzcd/core-data

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