Вопрос

Еще один вопрос Newbie: какой лучший способ хранить данные в приложении Cocoa, написанные в OBJ-C? Например, если я хочу создать своего рода «квестера», который тестирует пользователь с предварительно написанными (и пользовательскими) вопросами? Как я буду хранить эти вопросы и ответы? Основные данные?

Спасибо!

Это было полезно?

Решение

Конечно, это Основные данные!

Это будет справиться со всем .. посмотрите здесь: http://developer.apple.com/macosx/cordata.html.

Это полный API, который может обрабатывать:

  • ORM между базами данных и объектами выполнения
  • упорство
  • Автоматические строительные инструменты (как ER-редактор)
  • Он готов из коробки, вам не нужно будет реализовать практически все .. У вас уже у вас будет доступ к вашим данным, просто запрашивая его контроллерам объекта

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

Другие советы

Основные данные, безусловно, является отличным вариантом, поскольку @jack показал. Есть несколько других вариантов.

  1. NSCoding - Вы можете заставить свои модели объекты соответствовать протоколу Nscoding (аналогично java.io.Serializable), что означает, что вы сможете напрямую написать их в файлы. Я обнаружил, что это отличный вариант, когда у меня нет огромных объемов данных для сохранения данных, и данные, которые я устанавливаю, имеет относительно простую структуру.

  2. SQLite - если ваши данные очень реляционные, вы можете рассмотреть возможность использования базы данных (возможно Sqlite). Основные данные - это магазин объектов, и пока он обрабатывает такие вещи, как отношения между объектами, это не позволяет вам делать действительно полезные вещи, такие как INNER/LEFT/OUTER/CROSS/NATURAL JOIN или другие многостальные операторы.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top