Используйте Базовые Данные для устройства хранения данных - в навигации базирующееся и приложение оконное - iPhone

Не использование параметризированных запросов. Они довольно удобны в остановке Внедрение SQL .

Это - определенный пример не очистки входных данных, упомянутых в другом ответе.

15
задан Sagar R. Kothari 27 August 2009 в 21:44
поделиться

2 ответа

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

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

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

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

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

35
ответ дан 1 December 2019 в 00:16
поделиться

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

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

17
ответ дан 1 December 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: