Использование основных данных для хранения - в приложении на основе навигации и на базе окна - iPhone

Слишком много вариантов для создания проектов в XCode,

Но когда мы выбираем приложение на основе навигации/окно на основе

Мы можем увидеть дополнительную опцию - Использовать основные данные для хранения.

Мне нужна краткая информация об этом.

Что нового в нем?

Ответы

Ответ 1

Расскажите о том, что написал Джергасон. Core Data - это объектно-реляционное сопоставление (ORM), аналогичное Hibernate в мире Java. Он абстрагирует фактическую механику хранения данных (таких как файлы SQL или .plist) вдали от вашего кода. Вашему коду просто нужно иметь дело с последовательной объектно-ориентированной средой для извлечения объектов, обновления их и их сохранения. Core Data поддерживает некоторый уровень транзакций ACID, но не 2-фазные фиксации. На iPhone настройки по умолчанию для Core Data переносят базы данных sqlite с уровнем ORM.

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

Еще одно интересное преимущество Core Data - возможность переноса вашей базы данных с одной версии модели на другую. Это очень важно в мире iPhone, так как вы можете изменить свою модель данных с одной версии вашего приложения на другую. Core Data предоставляет довольно простой способ перенести сохраненные данные из старой модели в новую, без необходимости писать тонну кода миграции. Вы просто определяете карту переноса и добавляете "несколько" строк кода в делегат вашего приложения, и все преобразуется для вас.

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

All-in-all это довольно полнофункциональный слой ORM, не такой богатый, как Hibernate, но достаточный для этой среды.

Ответ 2

Core Data - это, по сути, способ визуализации модели, своего рода Interface Builder для модели. Вы создаете сущности, которые представляют классы моделей, и определяют отношения между ними. Вместо того, чтобы кодировать класс Person, у которого есть экземпляр класса адреса, вы можете просто визуально их визуализировать, перетаскивая его. Это намного больше, чем это, но это основная функция, которая, как мне кажется, классная.

Также см. this Документация Apple.