24
Core Data on iOS Dhwanil Karwa

Core Data on iOS

  • Upload
    stefan

  • View
    77

  • Download
    2

Embed Size (px)

DESCRIPTION

Core Data on iOS. Dhwanil Karwa. Topics. What is Core Data? Framework Overview Using Core Data Demo. 1. What is Core Data?. It is not a database. It is not an Object Relational Mapping framework. - PowerPoint PPT Presentation

Citation preview

Page 1: Core Data on  iOS

Core Data on iOS

Dhwanil Karwa

Page 2: Core Data on  iOS

Topics

• What is Core Data?

• Framework Overview

• Using Core Data

• Demo

1

Page 3: Core Data on  iOS

What is Core Data?• It is not a database.

• It is not an Object Relational Mapping framework.

• Apple explains it as “Core Data is a Schema driven object graph management and persistence Framework”

• It creates a layer between database and UI.

1

Page 4: Core Data on  iOS

• Performs CRUD operations

• Queries values using NSPredicate

• You don’t define the identity primary keys, only give relationships.

What is Core Data?

Page 5: Core Data on  iOS

• Before Core Data, developers had to work with Sqlite3 to save data.

• Handling CRUD operations was difficult.

• User was responsible to check if saved data matched the schema.

• Means you are writing your own persistence Layer

• Using Core Data hides Sqlite3

Why learn Core Data?

Page 6: Core Data on  iOS

Storage Options

• Binary

• In-memory

• XML only on Mac OS X

• Sqlite

Page 7: Core Data on  iOS

SQLITE CORE DATA

Bulk Operations YES NO

Automatic Object Population NO YES

Custom SQL YES NO

Select certain fields YES NO

Automatic Migration NO YES

Less Complex Code NO YES

Core Data vs. SQLite3

Page 8: Core Data on  iOS

Core Data M-VC

Controller View

Model

Core Data

ImplementsObserver

Controller implements Strategy for the View

Page 9: Core Data on  iOS

Core Data Stack

Heart of Core Data

• NSManagedObjectModel

• NSPersistentStoreCoordinator

• NSManagedObjectContext

Page 10: Core Data on  iOS

NSManagedObjectModel

• Schema for Models

• Entity, Attributes, Relationships

• Fetch Requests

• Validation

Page 11: Core Data on  iOS

NSManagedObjectModel

• Integer, Decimal, Float, Double

• Boolean

• Date

• String

• Binary Data

• Transformable

Attribute Types

Page 12: Core Data on  iOS

NSManagedObjectModel

• NSSet not NSArray

• One to One

• One to Many

• Many to Many

• Delete Rules

• Nullify, Cascade, Deny

Relationships

Page 13: Core Data on  iOS

NSManagedObjectModel

Page 14: Core Data on  iOS

NSPersistentStoreCoordinator• Coordinates access to one or more

persistent stores.

• Depends on Managed Object Model

• Set store options

Page 15: Core Data on  iOS

NSPersistentStoreCoordinator

Page 16: Core Data on  iOS

NSManagedObjectContext

Page 17: Core Data on  iOS

Core Data Model Inspector

Page 18: Core Data on  iOS

Core Data Model Inspector

Page 19: Core Data on  iOS

Save Objects

Page 20: Core Data on  iOS

NSFetchRequest

Page 21: Core Data on  iOS

DEMO

Page 23: Core Data on  iOS

Questions?

Page 24: Core Data on  iOS

Thank You