core-data Tutoriel
Démarrer avec les données de base
Recherche…
Remarques
Core Data est un framework dans les différents OS SDK d'Apple, y compris, mais sans s'y limiter, iOS et OS X. Il comporte deux rôles principaux: une couche de modèle et une couche de persistance. La couche modèle est utilisée dans la gestion des objets de modèle et des données de persistance. Vous pouvez simplement stocker et gérer des données dans une interface orientée objet. Les fonctions principales incluent le filtrage, l'interrogation, le tri, la persistance des données et la création de relations entre les données. NSPredicate, threading et autres sont d’autres sujets d’intérêt pour les projets Core Data.
Un exemple d'application de Core Data pourrait être une application Catalogue pour votre bibliothèque locale. Dans l'application Catalogue, un bibliothécaire pourrait ajouter ou supprimer des livres. Ils peuvent également filtrer les livres par genre, trier les livres par date de publication ou rechercher un travail spécifique des auteurs. Une entité «Livre» aurait divers attributs tels que titre, auteur, date de publication, isbn, numéro d'appel, etc. Les données de base, y compris l'exemple ci-dessus, peuvent également stocker des données collectées à partir d'un serveur.
Les principales composantes du cadre comprennent:
- Modèles de données (entités, attributs et relations)
- Core Data Stack (NSPersistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
- NSFetchRequest
- NSFetchedResultsController
Sources:
Notes de mise à jour des données de base 2016
CoreData & Concurrency
Il est important de se rappeler que CoreData n'est PAS thread-safe, ce qui signifie que s'il est nécessaire d'utiliser par exemple un thread d'arrière-plan pour travailler sur ManagedObjects, il y a de nouvelles choses à prendre en compte, comme PrivateQueue- / MainQueue -ManagedObjectContexts.
Du documentaire Apples: Core Data s'attend à être exécuté sur un seul thread. Vous ne devez jamais partager les contextes d'objets gérés entre les threads. C'est une règle difficile que vous ne devriez pas casser.
Créer votre premier modèle
- Sélectionnez le fichier
.xcdatamodeld
. Vous remarquerez que vous n'avez aucune entité. Vous devrez en créer un vous-même. Au bas de Xcode, vous remarquerez un bouton qui dit "Ajouter une entité", cliquez dessus et vous aurez une nouvelle entité avec laquelle vous pourrez travailler sur le projet.
- Dans cette étape, il y a quelques points à mentionner. Tout d'abord, vous avez changé votre nom d'entité ici, l'entité est nommée
Person
. Sous la section attributs, vous ajoutez les attributs à votre modèle. Ce bouton est un plus situé en bas de la section. Vous pouvez ajouter tous les attributs pertinents à votre application. Par exemple, si vous créez une application de carnet de contacts, vous n'avez pas besoin de faire en sorte que le modèle d'une personne contienne un attributArms
de typeBoolean
. Vous devez le garder lié à votre application. Par exemple, ajouter un attributtelephone
avec le type Integer ou si vous aimez String. Vous avez le choix entre plusieurs options, allant desBooleans
auxDates
et plus encore.
- Une fois satisfait de votre modèle, vous pouvez créer la sous-classe NSManagedObject.
Ici, nous pouvons voir deux choses importantes. Tout d'abord, cette personne (identique à votre nom d'entité) est une sous-classe de NSManagedObject. Ceci est important pour votre Core Data Stack. Deuxièmement, vous avez créé deux fichiers, une classe
Person.swift
et une extension dePerson
appeléePerson+CoreDataProperites.swift
.Tous les ajouts doivent être effectués dans
Person.swift
, car si vous modifiez votre modèle et réexécutez le générateur de classes, il remplacera tout dansPerson+CoreDataProperties.swift
.
Créer le projet
La première action à entreprendre est de créer un nouveau projet File> New> Project. Ici, l'application Single View est sélectionnée, mais vous pouvez choisir celle qui correspond le mieux à votre projet.
L'étape suivante de la configuration des données de base consiste à ajouter les informations à votre projet. La partie importante de la photo ci-dessous consiste à sélectionner "Utiliser les données de base"