Slide 1

Slide 1 text

Background Saving with Core Data Josh Johnson josh@twotoasters.com twitter.com/jnjosh Sunday, December 4, 11

Slide 2

Slide 2 text

Concurrency with Core Data Josh Johnson josh@twotoasters.com twitter.com/jnjosh Sunday, December 4, 11

Slide 3

Slide 3 text

“Why support concurrency?” Sunday, December 4, 11

Slide 4

Slide 4 text

http://skitch.com/okidokie/nm31y/beach-ball-mac-osx Sunday, December 4, 11

Slide 5

Slide 5 text

Wait... Isn’t this too hard? Sunday, December 4, 11

Slide 6

Slide 6 text

Wait... Isn’t this too hard? http://www.wallchan.com/sandbox/57897/ Sunday, December 4, 11

Slide 7

Slide 7 text

http://kelvinslush.com/blog/the-rules Sunday, December 4, 11

Slide 8

Slide 8 text

Thread Confinement Sunday, December 4, 11

Slide 9

Slide 9 text

NSManagedObjectContext NSManagedObject Rule 1. & Sunday, December 4, 11

Slide 10

Slide 10 text

NSManagedObjectContext NSManagedObject Rule 1. & Not Thread-safe Sunday, December 4, 11

Slide 11

Slide 11 text

NSManagedObjectId Rule 2. Sunday, December 4, 11

Slide 12

Slide 12 text

NSManagedObjectId Rule 2. Is Thread-safe Sunday, December 4, 11

Slide 13

Slide 13 text

NSManagedObjectId Rule 2. Is Thread-safe [otherMoc objectWithID:objectID] Sunday, December 4, 11

Slide 14

Slide 14 text

Merge Changes from Notifications Rule 3. Sunday, December 4, 11

Slide 15

Slide 15 text

Merge Changes from Notifications Rule 3. NSManagedObjectContextDidSaveNotification Sunday, December 4, 11

Slide 16

Slide 16 text

Merge Changes from Notifications Rule 3. NSManagedObjectContextDidSaveNotification [moc mergeChangesFromContextDidSaveNotification:note]; Sunday, December 4, 11

Slide 17

Slide 17 text

No Thread Confinement? Sunday, December 4, 11

Slide 18

Slide 18 text

http://63angel.blogspot.com/2011/07/danger-will-robinson-obsessions.html Sunday, December 4, 11

Slide 19

Slide 19 text

http://pennystockgurus.blogspot.com/2010_07_01_archive.html Sunday, December 4, 11

Slide 20

Slide 20 text

“Siri, make my app better” Sunday, December 4, 11

Slide 21

Slide 21 text

http://skitch.com/okidokie/nm31y/beach-ball-mac-osx Demo NSOperation Sunday, December 4, 11

Slide 22

Slide 22 text

Wait... Isn’t this too hard? http://www.wallchan.com/sandbox/57897/ Sunday, December 4, 11

Slide 23

Slide 23 text

GCD & Blocks Sunday, December 4, 11

Slide 24

Slide 24 text

Grand Central Dispatch & Blocks Concurrent And Asynchronous Programming With GCD Nathan Eror Saturday @ 2:45pm Sunday, December 4, 11

Slide 25

Slide 25 text

“The irresponsibly quick review” Grand Central Dispatch & Blocks Sunday, December 4, 11

Slide 26

Slide 26 text

Blocks http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Blocks/Articles/00_Introduction.html Sunday, December 4, 11

Slide 27

Slide 27 text

GCD dispatch_async(dispatch_get_main_queue(), ^{ [self doSomethingImportantOnMainQueue]; }); dispatch_async(myQueue, ^{ [self doSomethingImportant]; }); Sunday, December 4, 11

Slide 28

Slide 28 text

Grand Central Dispatch & Blocks Concurrent And Asynchronous Programming With GCD Nathan Eror Saturday @ 2:45pm Sunday, December 4, 11

Slide 29

Slide 29 text

http://skitch.com/okidokie/nm31y/beach-ball-mac-osx Demo GCD & Blocks Sunday, December 4, 11

Slide 30

Slide 30 text

Sunday, December 4, 11

Slide 31

Slide 31 text

Core Data Concurrency in iOS 5 Sunday, December 4, 11

Slide 32

Slide 32 text

Core Data Concurrency in iOS 5 • Concurrency Types Sunday, December 4, 11

Slide 33

Slide 33 text

Core Data Concurrency in iOS 5 • Concurrency Types • NSConfinementConcurrencyType • NSMainQueueConcurrencyType • NSPrivateQueueConcurrencyType Sunday, December 4, 11

Slide 34

Slide 34 text

Core Data Concurrency in iOS 5 • Concurrency Types • NSConfinementConcurrencyType • NSMainQueueConcurrencyType • NSPrivateQueueConcurrencyType • Parent / Child Contexts Sunday, December 4, 11

Slide 35

Slide 35 text

http://skitch.com/okidokie/nm31y/beach-ball-mac-osx Demo Parent / Child Contexts Sunday, December 4, 11

Slide 36

Slide 36 text

Resources MAGICALRECORD https://github.com/magicalpanda/MagicalRecord  http://developer.apple.com http://cimgf.com Sunday, December 4, 11

Slide 37

Slide 37 text

Questions? Sunday, December 4, 11

Slide 38

Slide 38 text

Thank You! Josh Johnson josh@twotoasters.com twitter.com/jnjosh Sunday, December 4, 11