Core Data is een framework dat u gebruikt om de objecten van de modellaag in uw toepassing te beheren. Het biedt gegeneraliseerde en geautomatiseerde oplossingen voor gemeenschappelijke taken in verband met object life cycle en object graph management, met inbegrip van persistentie.
Core Data vermindert doorgaans met 50 tot 70 procent de hoeveelheid code die u schrijft om de modellaag te ondersteunen. Dit is voornamelijk te wijten aan de volgende ingebouwde functies die u niet hoeft te implementeren, testen of optimaliseren:
-
Change tracking en ingebouwde beheer van ongedaan maken en opnieuw dan basistekst bewerken.
-
behoud van de verspreiding van veranderingen, met inbegrip van het behoud van de consistentie van relaties tussen objecten.
-
luie laden van objecten, gedeeltelijk gematerialiseerde futures (faulting), en copy-on-write gegevens delen om overhead te verminderen.
-
automatische validatie van eigendomswaarden. Beheerde objecten breiden de standaard coderingsmethoden voor sleutelwaarden uit om ervoor te zorgen dat individuele waarden binnen aanvaardbare marges liggen, zodat combinaties van waarden zinvol zijn.
-
hulpprogramma ‘ s voor Schemamigratie die schemawijzigingen vereenvoudigen en u in staat stellen een efficiënte schemamigratie op zijn plaats uit te voeren.
-
optionele integratie met de controllerlaag van de toepassing om de synchronisatie van de gebruikersinterface te ondersteunen.
-
groeperen, filteren en organiseren van gegevens in het geheugen en in de gebruikersinterface.
-
automatische ondersteuning voor het opslaan van objecten in externe databases.
-
geavanceerde query compilatie. In plaats van SQL te schrijven, kun je complexe query ‘ s maken door een nspredicate object te associëren met een fetch request.
-
versie volgen en optimistische vergrendeling om automatische multiwriter conflictoplossing te ondersteunen.
-
effectieve integratie met de MacOS-en iOS-gereedschapsketens.