core-data Handledning
Komma igång med kärndata
Sök…
Anmärkningar
Core Data är ett ramverk i Apples olika OS SDK inklusive, men inte begränsat till iOS och OS X. Det har två huvudroller ett modelllager och ett persistenslager. Modellagret används för hantering av modellobjekt och persidensdata. Du kan helt enkelt lagra och hantera data i ett objektorienterat gränssnitt. Primära funktioner inkluderar filtrering, fråga, sortering, bestående data och skapa relationer mellan data. Andra ämnen av intresse för Core Data-projekt är NSPredicate, threading och bland andra.
En exempelapplikation av Core Data kan en katalogapp för ditt lokala bibliotek. I katalogappen kan en bibliotekarie lägga till eller ta bort böcker. De kan också filtrera böcker efter genre, sortera böcker efter publiceringsdatum eller söka efter ett specifikt författararbete. En enhet "Bok" skulle ha olika attribut såsom titel, författare, publiceringsdatum, isbn, samtal nummer etc. Kärndata inklusive exemplet ovan kan också lagra data som samlats in från en server.
Viktiga komponenter i ramverket inkluderar:
- Datamodeller (enheter, attribut och relationer)
- Core Data Stack (NSPersistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
- NSFetchRequest
- NSFetchedResultsController
källor:
Noteringsinformation om kärndata 2016
CoreData & Concurrency
Det är viktigt att komma ihåg att CoreData INTE är trådsäker, vilket innebär att om det är nödvändigt att använda till exempel en bakgrundstråd för att arbeta med ManagedObjects, finns det nya saker att tänka på, som PrivateQueue- / MainQueue -ManagedObjectContexts.
Från Apples dokumentär: Core Data räknar med att köras på en enda tråd. Du bör aldrig dela hanterade objektkontexter mellan trådar. Detta är en hård regel som du inte bör bryta.
Skapa din första modell
- Välj
.xcdatamodeld
fil. Du kommer att märka att du inte har några enheter. Du måste skapa en själv. Längst ner i Xcode kommer du att märka en knapp som säger "Lägg till enhet" klicka på den och du har en ny enhet som du kan arbeta med på projektet.
- I detta steg är det några punkter att nämna. Först är att du ändrade ditt enhetsnamn här får enheten namnet
Person
. Under attributavsnittet lägger du till attributen till din modell. Den här knappen är ett plus längst ner i avsnittet. Du kan lägga till alla attribut som är relevanta för din app. Om du till exempel skapar en kontaktbok-app behöver du inte låta modellen för en person innehålla ett attribut förArms
med typenBoolean
. Du bör behålla den relaterad till din app. Till exempel lägga till etttelephone
med typen Heltal eller om du gillar String. Du har flera olika typer av alternativ att välja mellan, frånBooleans
tillDates
och mer.
- När du är nöjd med din modell kan du skapa underklassen NSManagedObject.
Här kan vi se två viktiga saker. Först är den personen (samma som ditt enhetsnamn) en underklass av NSManagedObject. Detta är viktigt för din Core Data Stack. För det andra har du skapat två filer, en klass
Person.swift
och en förlängning avPerson
heterPerson+CoreDataProperites.swift
.Alla tillägg bör göras i
Person.swift
, eftersom om du någonsin byter modell och kör igen klassgeneratorn kommer det att skriva över allt iPerson+CoreDataProperties.swift
.
Skapa projektet
Den första åtgärden att vidta är att skapa ett nytt projekt Arkiv> Nytt> Projekt. Här väljs Single View-applikation, men du kan välja den som passar ditt projekt bäst.
Nästa steg i installationen av kärndata är att lägga till informationen till ditt projekt. Den viktiga delen på bilden nedan är att välja "Använd kärndata"