Нужна помощь с использованием основных данных для хранения моих проанализированных данных - PullRequest
0 голосов
/ 15 ноября 2011

Я в полном недоумении. Последние две недели я работал над тонкой настройкой способа анализа, отображения и хранения данных в моем приложении.

У меня есть два контроллера представления, первая имеет четыре таблицы, которые при выборе загружают uitableview, полный данных, которые анализируются из XML-файла. каждый XML-файл отличается, но имеет ключевые поля, которые относятся друг к другу. Мне нужно ускорить способ отображения этих данных в пользовательском представлении, как при повторном поиске, когда я проверяю свой ManufactureID по каждому отдельному модулю, доступному для всех производителей ... загрузка занимает много времени.

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

Если у вас есть примеры, предложения или что-нибудь, что могло бы мне помочь, я мог бы серьезно использовать чей-то ввод прямо сейчас, так как я просто застрял. Например, как я могу получить данные, которые находятся в моих файлах .xml в coredata? как создать идентификаторы кораблей отношений? и т.д.

1 Ответ

1 голос
/ 15 ноября 2011

Прежде всего, есть ли причина хранить информацию в файлах XML? Все будет намного проще (и быстрее!), Если вы просто переместите все это в хранилище данных CoreData с самого начала, а не анализируете / предварительно загружаете все в хранилище в памяти при запуске (или как угодно).

Что касается моделирования ваших отношений, вы всегда можете настроить модель CoreData так, чтобы она точно соответствовала вашим XML-данным. Так, скажем, один объект на файл и один атрибут на запись в указанном файле. Нет никакой причины, по которой у вас есть для использования отношений CoreData для моделирования отношений в вашем XML. Если у вас уже есть идентификаторы в файлах, просто создайте атрибут с именем xmlId или что-то в этом роде и извлекайте данные на основе этого точно так же, как вы делали SQL-запрос. Вы бы упустили много автоматических ORM-возможностей CoreData, но если вы все это время имели дело с XML, я сомневаюсь, что вы заметите.

Если вы действительно хотите установить отношения между объектами, управляемыми CoreData, вам придется каким-то образом сопоставлять объекты по их идентификаторам в XML либо путем импорта идентификаторов в CoreData с последующим выполнением математических операций, либо каким-либо другим способом заботиться об этом, когда вы разбираете. Трудно дать какой-либо конкретный совет здесь, не зная больше о том, как моделируются ваши данные.

Есть некоторый пример кода, который делает половину того, что вам нужно (он читает XML в хранилище CoreData в памяти, но не моделирует никаких отношений). Проверьте TopSongs (http://developer.apple.com/library/ios/#samplecode/TopSongs)

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