Slide 1

Slide 1 text

import CoreData ࠷ۙɺCore DataͲ͏Ͱ͔͢? @nolili Noritaka Kamiya

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

CoreData

Slide 7

Slide 7 text

CoreData

Slide 8

Slide 8 text

NSAsynchronousFetchRequest NSFetchRequest NSPersistentContainer

Slide 9

Slide 9 text

NSFetchRequest

Slide 10

Slide 10 text

let request = NSFetchRequest(entityName: "Message") context.fetch(request) as! [Message] Force Casting! Before

Slide 11

Slide 11 text

let request: NSFetchRequest = Message.fetchRequest() // fetchRequest() -> NSFetchRequest ͸ࣗಈੜ੒͞ΕΔ let messages = context.fetch(request) // [Message] After

Slide 12

Slide 12 text

NSFetchRequest NSManagedObjectͷαϒΫϥεΛfetch͢Δ৔߹ʹศར SwiftϑϨϯυϦʔʹ Swift/Objective-C

Slide 13

Slide 13 text

NSAsynchronousFetchRequest

Slide 14

Slide 14 text

let request: NSFetchRequest = Message.fetchRequest() let asyncRequest = NSAsynchronousFetchRequest(fetchRequest: request) { result in let messages = messages = result.finalResult ?? [] } try! managedObjectContext.execute(asyncRequest)

Slide 15

Slide 15 text

let result: NSAsynchronousFetchResult = try! managedObjectContext.execute(asyncRequest) result.cancel()

Slide 16

Slide 16 text

NSAsynchronousFetchRequest closureΛ࢖ͬͨඇಉظϑΣονָ͕ʹॻ͚Δ Ωϟϯηϧ͕Ͱ͖Δ ϑΣονͷProgress΋औಘͰ͖Δ iOS 8~

Slide 17

Slide 17 text

NSPersistentContainer

Slide 18

Slide 18 text

Α͋͘ΔCore DataͷηοτΞοϓ

Slide 19

Slide 19 text

/41FSTJTUFOU4UPSF

Slide 20

Slide 20 text

/4.BOBHFE0CKFDU.PEFM /41FSTJTUFOU4UPSF

Slide 21

Slide 21 text

/41FSTJTUFOU4UPSF$PPSEJOBUPS /4.BOBHFE0CKFDU.PEFM /41FSTJTUFOU4UPSF

Slide 22

Slide 22 text

/41FSTJTUFOU4UPSF$PPSEJOBUPS /4.BOBHFE0CKFDU.PEFM /4.BOBHFE0CKFDU$POUFYU /41FSTJTUFOU4UPSF

Slide 23

Slide 23 text

/41FSTJTUFOU4UPSF$PPSEJOBUPS /4.BOBHFE0CKFDU.PEFM /4.BOBHFE0CKFDU$POUFYU /4.BOBHFE0CKFDU$POUFYU 1SJWBUF2VFVF /41FSTJTUFOU4UPSF

Slide 24

Slide 24 text

ͭΒ͍

Slide 25

Slide 25 text

ॳݟࡴ͠

Slide 26

Slide 26 text

NSPersistentContainer

Slide 27

Slide 27 text

/41FSTJTUFOU$POUBJOFS NSPersistentContainer(name: "iOS10Sampler")

Slide 28

Slide 28 text

/41FSTJTUFOU4UPSF$PPSEJOBUPS /4.BOBHFE0CKFDU.PEFM /4.BOBHFE0CKFDU$POUFYU /4.BOBHFE0CKFDU$POUFYU 1SJWBUF2VFVF /41FSTJTUFOU4UPSF NSPersistentContainer(name: "iOS10Sampler") /41FSTJTUFOU$POUBJOFS

Slide 29

Slide 29 text

It just works

Slide 30

Slide 30 text

NSPersistentContainer (iOS 10~) Α͋͘ΔCoreDataͷηοτΞοϓΛ؆ུԽ طʹ࢖͍ͬͯΔਓʹ͸౰ͨΓલ͔΋͠Εͳ͍͚Ͳͱ͖ͬͭʹ͘͞͸؇࿨͞Ε͍ͯΔ ۜͷ஄ؙͰ͸ͳ͍ɻCoreDataΛ࢖͍͜ͳͨ͢Ίʹ֮͑ͳ͚Ε͹͍͚ͳ͍͜ͱ͸ଟ͍ɻ NSPersistentStoreDescription Λ࢖͑͹ࡉ͔ͳઃఆมߋ΋Մ

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

References iOS 10 Sampler https://github.com/shu223/iOS-10-Sampler What’s new in Core Data https://developer.apple.com/videos/play/wwdc2016/242/ SwiftʴCore DataʹΑΔiOSΞϓϦϓϩάϥϛϯά (੢ํՆࢠɺ ؙࢁ߂ࢻ) https://book.mynavi.jp/ec/products/detail/id=50729

Slide 34

Slide 34 text

https://www.wantedly.com/projects/61105

Slide 35

Slide 35 text

import CoreData ࠷ۙɺCore DataͲ͏Ͱ͔͢? @nolili Noritaka Kamiya