64
CoreData Love! CoreData Without headaches

Core Data without headaches

Embed Size (px)

DESCRIPTION

Core Data Love ! Meetup www.meetup.com/iLove-iOS/

Citation preview

Page 1: Core Data without headaches

CoreData Love!CoreData Without headaches

Page 2: Core Data without headaches

About Me@abraham_barrera

Page 3: Core Data without headaches

iOS Developer

Page 4: Core Data without headaches

ContinuumLemontech

Page 5: Core Data without headaches
Page 6: Core Data without headaches

I LoveMy Family

Page 7: Core Data without headaches

I LoveMy Girlfriend

Page 8: Core Data without headaches

I LoveGrand Central

Dispatch

Page 9: Core Data without headaches

I LoveBlocks!

Page 10: Core Data without headaches

I hate

Page 11: Core Data without headaches

I hateWars

Page 12: Core Data without headaches

I hateStoryboards

Page 13: Core Data without headaches

I hateCoreData

Page 14: Core Data without headaches

I hatedCoreData

Page 15: Core Data without headaches

CoreData Love!CoreData Without headaches

Page 16: Core Data without headaches

We need Store Data

Page 17: Core Data without headaches

From scratch

Page 18: Core Data without headaches

¿CoreData?

Page 19: Core Data without headaches

PersistenceFramework

Page 20: Core Data without headaches

¿Persistence?Framework

Page 21: Core Data without headaches

Not really

Page 22: Core Data without headaches

end of presentation

Page 23: Core Data without headaches

ObjectManager

Page 24: Core Data without headaches

Lifecycle

Page 25: Core Data without headaches

Search

Page 26: Core Data without headaches

Relations

Page 27: Core Data without headaches

Persistence

Page 28: Core Data without headaches

Persistence

Page 29: Core Data without headaches

In-Memory

Page 30: Core Data without headaches

Work in-Memory

Page 31: Core Data without headaches

Create / Update / Delete

Page 32: Core Data without headaches

Relations(in-memory)

Page 33: Core Data without headaches

Relations(no search)

Page 34: Core Data without headaches

user.profile.description

Page 35: Core Data without headaches

Users ... ( where ) ..

" profile.name = %@ ", profile.objectID

Page 36: Core Data without headaches

Users ... ( where ) ..

" profile.name = %@ ", profile.objectID

(No Joins)

Page 37: Core Data without headaches

CoreData != Database

Page 38: Core Data without headaches

Objects Manager

vsStore/fetch

Data

Page 39: Core Data without headaches

In-Memoryvs

On-Disk

Page 40: Core Data without headaches

Store Objects with behaviors

vsOnly data

Page 41: Core Data without headaches

Non Transactional

vsTransactional

Page 42: Core Data without headaches

All operations in Memory

vsOperations

without loading data

Page 43: Core Data without headaches

5 Base Elements

Page 44: Core Data without headaches

Model

Page 45: Core Data without headaches

NSManagedObject

Page 46: Core Data without headaches

managedObjectModel

Page 47: Core Data without headaches

persistentStoreCoordinator

Page 48: Core Data without headaches

managedObjectContext

Page 49: Core Data without headaches

Model

Page 50: Core Data without headaches

NSManagedObject

Page 51: Core Data without headaches

managedObjectModel

Page 52: Core Data without headaches

persistentStoreCoordinator

Page 53: Core Data without headaches

managedObjectContext

Page 54: Core Data without headaches

Save a new Record

Page 55: Core Data without headaches

Show me the code

Page 56: Core Data without headaches
Page 57: Core Data without headaches

Some Issues

Page 58: Core Data without headaches

Data typesNSManagedObject

Page 59: Core Data without headaches

Too verbose

Page 60: Core Data without headaches

Too verbose

Page 61: Core Data without headaches

Tools

Page 62: Core Data without headaches

MoGeneratorhttps://github.com/rentzsch/mogenerator

$ brew install mogenerator

Page 63: Core Data without headaches

mogenerator --model CoreDataInLove/Model/CoreDataInLove.xcdatamodeld/CoreDataInLove.xcdatamodel -O CoreDataInLove/NewModel -M CoreDataInLove/NewModel/Machine --template-var arc=true

Page 64: Core Data without headaches

Objective-Recordhttps://github.com/mneorr/Objective-Record