Поиск…


замечания

Core Data - это основа в различных SDK OS от Apple, включая, но не ограничиваясь ими, iOS и OS X. Он имеет две основные роли: уровень модели и уровень сохранения. Слой модели используется для управления объектами модели и сохранения данных. Просто вы можете хранить и управлять данными в объектно-ориентированном интерфейсе. Первичные функции включают в себя фильтрацию, запрос, сортировку, сохранение данных и создание связей между данными. Другими предметами, представляющими интерес для проектов Core Data, являются NSPredicate, threading и другие.

Примером приложения Core Data может быть приложение Catalog для вашей локальной библиотеки. В приложении «Каталог» библиотекарь мог добавлять или удалять книги. Они также могут фильтровать книги по жанрам, сортировать книги по дате публикации или искать работу определенных авторов. Сущность «Книга» будет иметь различные атрибуты, такие как название, автор, дата публикации, isbn, номер вызова и т. Д. Основные данные, включая приведенный выше пример, также могут хранить данные, собранные с сервера.

Основные компоненты структуры включают:

  • Модели данных (сущности, атрибуты и отношения)
  • Core Data Stack (NSPsistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
  • NSFetchRequest
  • NSFetchedResultsController

Источники:

Рамочная документация

Руководство по программированию

Примечания к выпуску основных данных 2016

CoreData & Concurrency

Важно помнить , что CoreData НЕ потокобезопасная, что означает , что , если это необходимо использовать, например, фон-нить работать на ManagedObjects, есть новые вещи , чтобы рассмотреть, как PrivateQueue- / MainQueue -ManagedObjectContexts.

Из документального документа «Яблоки»: Core Data рассчитывается работать в одном потоке. Вы никогда не должны делиться контекстами управляемых объектов между потоками. Это жесткое правило, которое вы не должны нарушать.

Создание вашей первой модели

  • Выберите файл .xcdatamodeld . Вы заметите, что у вас нет сущностей. Вам придется создать его самостоятельно. В нижней части Xcode вы увидите кнопку, в которой говорится, что «Добавить объект» щелкните по ней, и у вас будет новый объект для работы с проектом.

Модель данных

  • На этом этапе есть несколько моментов. Во-первых, вы изменили название своей сущности здесь, сущности присваивается имя Person . В разделе атрибутов вы добавляете атрибуты в свою модель. Эта кнопка представляет собой плюс, расположенный в нижней части раздела. Вы можете добавить любые атрибуты, относящиеся к вашему приложению. Например, если вы создаете приложение для контактов, вам не нужно, чтобы модель Person содержала атрибут Arms с типом Boolean . Вы должны держать его связанным с вашим приложением. Например, добавление telephone атрибута с типом Integer или если вам нравится String. У вас есть несколько вариантов типов на выбор: от Booleans до Dates и многое другое.

Создание вашей модели

  • После того, как вы удовлетворены своей моделью, вы можете создать подкласс NSManagedObject.

Создать NSManagedObjectSubclass

Выбор модели данных

Выбор объекта для управления

  • Здесь мы видим две важные вещи. Во-первых, это лицо (то же, что и имя вашего объекта) является подклассом NSManagedObject. Это важно для вашего Core Data Stack. Во-вторых, вы создали два файла, класс Person.swift и расширение Person называемое Person+CoreDataProperites.swift .

  • Все добавления должны выполняться в Person.swift , так как если вы когда-либо измените свою модель и заново запустите генератор класса, она перезапишет все в Person+CoreDataProperties.swift .

Person.swift

Человек + CoreDataProperites.swift

Создание проекта

Первое действие - создать новый проект File> New> Project. Здесь выбрано приложение Single View, но вы можете выбрать тот, который наилучшим образом соответствует вашему проекту.

Начальная настройка

Следующим шагом в настройке основных данных является добавление информации в ваш проект. Важной частью на приведенной ниже фотографии является выбор «Использовать основные данные»,

Добавление информации о проекте



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow