core-data Tutorial
Iniziare con i dati di base
Ricerca…
Osservazioni
Core Data è un framework nei vari OS SD di Apple, inclusi, ma non limitati a iOS e OS X. Ha due ruoli principali: un livello di modello e uno di persistenza. Il livello del modello viene utilizzato nella gestione degli oggetti del modello e dei dati persistenti. Semplicemente è possibile memorizzare e gestire i dati in un'interfaccia orientata agli oggetti. Le funzionalità primarie includono il filtraggio, l'esecuzione di query, l'ordinamento, la persistenza dei dati e la creazione di relazioni tra i dati. Altri argomenti di interesse per i progetti di Core Data sono NSPredicate, threading e, tra gli altri.
Un'applicazione di esempio di Core Data potrebbe un'applicazione di catalogo per la tua libreria locale. Nell'app Catalogo un bibliotecario può aggiungere o rimuovere libri. Potrebbero anche filtrare i libri per genere, ordinare i libri per data di pubblicazione o cercare un lavoro specifico per gli autori. Un'entità "Libro" avrebbe vari attributi come titolo, autore, data di pubblicazione, isbn, numero di chiamata, ecc. I dati fondamentali incluso l'esempio sopra possono anche memorizzare i dati raccolti da un server.
I componenti principali del framework includono:
- Modelli di dati (entità, attributi e relazioni)
- Stack di dati principali (NSPersistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
- NSFetchRequest
- NSFetchedResultsController
fonti:
Note di rilascio dei dati fondamentali 2016
CoreData e concorrenza
È importante ricordare che CoreData NON è thread-safe, il che significa che se è necessario utilizzare ad esempio un thread in background per lavorare su ManagedObjects, ci sono cose nuove da considerare, come PrivateQueue- / MainQueue -ManagedObjectContexts.
Dal documentario di Apple: Core Data si aspetta di essere eseguito su un singolo thread. Non condividere mai contesti di oggetti gestiti tra thread. Questa è una regola difficile da non interrompere.
Creare il tuo primo modello
- Seleziona il file
.xcdatamodeld
. Noterai che non hai entità. Dovrai crearne uno tu stesso. In fondo a Xcode noterai un pulsante che dice "Aggiungi entità" cliccalo e avrai una nuova entità con cui lavorare sul progetto.
- In questo passaggio ci sono alcuni punti da menzionare. Innanzitutto, hai cambiato il nome dell'entità qui all'entità viene assegnato il nome
Person
. Sotto la sezione attributi, aggiungi gli attributi al tuo modello. Questo pulsante è un vantaggio situato nella parte inferiore della sezione. Puoi aggiungere qualsiasi attributo pertinente alla tua app. Ad esempio, se stai creando un'app di rubrica, non è necessario che il modello di una Persona contenga un attributo diArms
con tipoBoolean
. Dovresti tenerlo correlato alla tua app. Ad esempio aggiungendo un attributotelephone
con tipo Integer o se ti piace String. Hai diverse opzioni di tipi tra cui scegliere che vanno daBooleans
aDates
e altro ancora.
- Dopo aver soddisfatto il modello, è possibile creare la sottoclasse NSManagedObject.
Qui possiamo vedere due cose importanti. Primo, quella Persona (uguale al nome della tua entità) è una sottoclasse di NSManagedObject. Questo è importante per il tuo stack di dati core. In secondo luogo, hai creato due file, una classe
Person.swift
e un'estensione diPerson
chiamataPerson+CoreDataProperites.swift
.Tutte le aggiunte dovrebbero essere fatte in
Person.swift
, dal momento che se cambi mai il tuo modello e riesegui il generatore di classi, sovrascriverà tutto inPerson+CoreDataProperties.swift
.
Creare il progetto
La prima azione da intraprendere è la creazione di un nuovo progetto File> Nuovo> Progetto. Qui è selezionata l'applicazione Single View, ma puoi scegliere quella che si adatta al tuo progetto.
Il prossimo passo nella configurazione dei dati di base è aggiungere le informazioni al progetto. La parte importante nella foto qui sotto è selezionare "Utilizza i dati principali"