Построение сущности


Построение сущности

Core Data обеспечивает объектно-ориентированное представление данных, и позволяет определять данные в графическом виде. Но в исходном варианте Core Data поддерживает небольшое подмножество типов данных, и нам придется определить свои сущности в контексте поддерживаемых типов.

Core Data использует модель управляемых объектов для описания сущностей.

Сущности, находящиеся под управлением Core Data, называются управляемыми объектами (Managed Object). Взаимодействия с описаниями сущностей (свойствами, отношениями, информацией типов и т. д.) осуществляется через модель управляемых объектов (Managed Object Model). Core Data обращается к этой модели, чтобы определить, как выполнять операции загрузки и сохранения объектов в долгосрочном хранилище (например, базе данных). Выбранный нами шаблон I Xcode предоставляет нам пустую модель в качестве отправной точки. Давайте познакомимся с ней поближе.

Мы дложны создать сущность Fugitive, описывающую преступника, в нашей модели управляемых объектов. Так как Fugitive не имеет отношений с другими классами, достаточно добавить необходимые свойства. Откройте файл iBountyHunter.xcdatamodeld для создания типа данных Fugitive.

Почему мы использовали для вознаграждения тип NSDecimalNumber? Почему не float или double?

В поле bounty будет храниться денежная сумма, поэтому нам нужно точное представление дробной части. Вещественные типы обеспечивают приближенное представление, так что в расчетах вместо $10,00 будет использоваться приближенное значение вида $9,999999998. Выбор NSDecimalNumber не имеет никакого отношения к Core Data, он обусловлен исключительно спецификой сохраняемой информации.

Что означают флажки Transient и Indexed при создании свойств в Xcode?

Флажок Transient указывает на то, что Core Data не нужно загружать или сохранять это свойство. Временные свойства используются для хранения вычисляемых значений для быстродействия или удобства. Как правило, при использовании временных свойств реализуется метод awakeFromFetch:, который вызывается сразу после загрузки сущности подсистемой Core Data. В этом методе можно вычислить и присвоить значения временных свойств.

Флажок Indexed приказывает Core Data построить индекс по данному свойству. Индексы используются для ускорения поиска; таким образом, если свойство предполагается использовать для поиска сущностей (код заказчика, номер счета и т. д.), его стоит проиндексировать для ускорения поиска. Индексирование занимает место и замедляет вставку новых данных, поэтому его следует применять только в том случае, если это действительно приведет к ускорению поиска.
  • Дата: 31-12-2014, 13:34

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Построение сущности

Технологии, секреты и фишки Apple: Iphone, iPad, iPod