20130303 idw core_data
DESCRIPTION
第十八回 iPhone Developer Workshop発表資料TRANSCRIPT
![Page 1: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/1.jpg)
CoreDataによるデータ駆動型プログラミング
Shinji KobayashiGentleSoft
13年3月3日日曜日
![Page 2: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/2.jpg)
Name:Shinji Kobayashi
Twitter:@gentlejkov
GentleSoft
Who are you?
http://gentlesoft.net
13年3月3日日曜日
![Page 4: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/4.jpg)
アジェンダ
13年3月3日日曜日
![Page 5: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/5.jpg)
アジェンダ
• CoreDataってなに?
13年3月3日日曜日
![Page 6: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/6.jpg)
アジェンダ
• CoreDataってなに?
•データ駆動型プログラミングってなに?
13年3月3日日曜日
![Page 7: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/7.jpg)
アジェンダ
• CoreDataってなに?
•データ駆動型プログラミングってなに?
•どうやって実装するの?
13年3月3日日曜日
![Page 8: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/8.jpg)
CoreDataってなに?
13年3月3日日曜日
![Page 9: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/9.jpg)
CoreDataとは何か
• Appleが提供するデータ永続化コンポーネント
13年3月3日日曜日
![Page 10: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/10.jpg)
CoreDataとは何でないか
• not DataBase
• not ORM
13年3月3日日曜日
![Page 11: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/11.jpg)
not DataBase ?
13年3月3日日曜日
![Page 12: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/12.jpg)
not ORM ?
13年3月3日日曜日
![Page 13: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/13.jpg)
じゃあCoreDataって何なのさ
13年3月3日日曜日
![Page 14: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/14.jpg)
じゃあCoreDataって何なのさ
• CoreDataを管理するオブジェクト群
13年3月3日日曜日
![Page 15: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/15.jpg)
じゃあCoreDataって何なのさ
• CoreDataを管理するオブジェクト群
NSManagedObjectContextデータの操作を管理
13年3月3日日曜日
![Page 16: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/16.jpg)
じゃあCoreDataって何なのさ
• CoreDataを管理するオブジェクト群
NSManagedObjectContextデータの操作を管理
NSManagedObjectModelデータの構造を管理
13年3月3日日曜日
![Page 17: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/17.jpg)
じゃあCoreDataって何なのさ
• CoreDataを管理するオブジェクト群
NSManagedObjectContextデータの操作を管理
NSPersistentStoreCoordinatorデータファイルを管理
NSManagedObjectModelデータの構造を管理
13年3月3日日曜日
![Page 18: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/18.jpg)
じゃあCoreDataって何なのさ
13年3月3日日曜日
![Page 19: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/19.jpg)
NSManagedObjectModel
じゃあCoreDataって何なのさ
13年3月3日日曜日
![Page 20: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/20.jpg)
NSManagedObjectModel
じゃあCoreDataって何なのさ
データの構造を管理13年3月3日日曜日
![Page 21: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/21.jpg)
NSManagedObjectModel
NSPersistentStoreCoordinator
じゃあCoreDataって何なのさ
データの構造を管理13年3月3日日曜日
![Page 22: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/22.jpg)
NSManagedObjectModel
NSPersistentStoreCoordinator
じゃあCoreDataって何なのさ
データファイルを管理
13年3月3日日曜日
![Page 23: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/23.jpg)
NSManagedObjectModel
NSPersistentStoreCoordinator
Data File
じゃあCoreDataって何なのさ
データファイルを管理
13年3月3日日曜日
![Page 24: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/24.jpg)
NSManagedObjectModel
NSManagedObjectContext NSPersistentStoreCoordinator
Data File
じゃあCoreDataって何なのさ
データファイルを管理
13年3月3日日曜日
![Page 25: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/25.jpg)
NSManagedObjectModel
NSManagedObjectContext NSPersistentStoreCoordinator
Data File
じゃあCoreDataって何なのさ
データの操作を管理
13年3月3日日曜日
![Page 26: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/26.jpg)
NSManagedObjectModel
NSManagedObjectContext NSPersistentStoreCoordinator
Application Program
Data File
じゃあCoreDataって何なのさ
データの操作を管理
13年3月3日日曜日
![Page 27: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/27.jpg)
NSManagedObjectModel
NSManagedObjectContext NSPersistentStoreCoordinator
Application Program
Data File
じゃあCoreDataって何なのさ
NSFetchRequest
13年3月3日日曜日
![Page 28: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/28.jpg)
NSManagedObjectModel
NSManagedObjectContext NSPersistentStoreCoordinator
Application Program
Data File
じゃあCoreDataって何なのさ
NSFetchRequest
13年3月3日日曜日
![Page 29: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/29.jpg)
NSManagedObjectModel
NSManagedObjectContext NSPersistentStoreCoordinator
Application Program
Data File
じゃあCoreDataって何なのさ
NSArray
13年3月3日日曜日
![Page 30: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/30.jpg)
CoreDataの使い方
13年3月3日日曜日
![Page 31: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/31.jpg)
CoreDataの使い方
新規プロジェクトでMaster-Detail Applicationを選んで、
Use Core Dataにチェックをつけよう
13年3月3日日曜日
![Page 32: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/32.jpg)
CoreData使うといいことあるの?
13年3月3日日曜日
![Page 33: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/33.jpg)
CoreData使うといいことあるの?
•開発が楽、試行錯誤しやすい
13年3月3日日曜日
![Page 34: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/34.jpg)
CoreData使うといいことあるの?
•開発が楽、試行錯誤しやすい
•データを適度にキャッシュしてくれる
13年3月3日日曜日
![Page 35: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/35.jpg)
CoreData使うといいことあるの?
•開発が楽、試行錯誤しやすい
•データを適度にキャッシュしてくれる
• NSFetchedResultsControllerが使える
13年3月3日日曜日
![Page 36: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/36.jpg)
NSFetchedResultsController?
13年3月3日日曜日
![Page 37: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/37.jpg)
NSFetchedResultsController?
• CoreDataのデータの変更を監視してアプリケーションに通知してくれるオブジェクト
13年3月3日日曜日
![Page 38: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/38.jpg)
つまり?
13年3月3日日曜日
![Page 39: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/39.jpg)
つまり?
•データ駆動型プログラミングをサポート
13年3月3日日曜日
![Page 40: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/40.jpg)
データ駆動型プログラミングってなに?
13年3月3日日曜日
![Page 41: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/41.jpg)
データ駆動?
13年3月3日日曜日
![Page 42: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/42.jpg)
イベント駆動?
13年3月3日日曜日
![Page 43: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/43.jpg)
User
イベント駆動?
13年3月3日日曜日
![Page 44: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/44.jpg)
User
イベント駆動?
13年3月3日日曜日
![Page 45: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/45.jpg)
Event
User
イベント駆動?
13年3月3日日曜日
![Page 46: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/46.jpg)
Event
User
Display
イベント駆動?
13年3月3日日曜日
![Page 47: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/47.jpg)
Event
User
Display
DataIO
イベント駆動?
13年3月3日日曜日
![Page 48: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/48.jpg)
Event
User
Data File
Display
DataIO
イベント駆動?
13年3月3日日曜日
![Page 49: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/49.jpg)
Event
User
Data File
Display
DataIO
イベント駆動?
13年3月3日日曜日
![Page 50: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/50.jpg)
Event
User
Data File
Display
DataIO
イベント駆動?
13年3月3日日曜日
![Page 51: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/51.jpg)
DisplayEvent
DataIO
User
Data File
イベント駆動の面倒な所
13年3月3日日曜日
![Page 52: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/52.jpg)
DisplayEvent
DataIO
User
Data File
Event2
イベント駆動の面倒な所
13年3月3日日曜日
![Page 53: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/53.jpg)
DisplayEvent
DataIO
User
Data File
Event2
DataIO
イベント駆動の面倒な所
13年3月3日日曜日
![Page 54: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/54.jpg)
DisplayEvent
DataIO
User
Data File
Event2
DataIO
イベント駆動の面倒な所
13年3月3日日曜日
![Page 55: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/55.jpg)
DisplayEvent
DataIO
User
Data File
Event2
DataIO
イベント駆動の面倒な所
13年3月3日日曜日
![Page 56: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/56.jpg)
DisplayEvent
DataIO
User
Data File
Event2
DataIO
何か前も同じ様なこと書いたぞ?
イベント駆動の面倒な所
13年3月3日日曜日
![Page 57: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/57.jpg)
DisplayEvent
DataIO
User
Data File
イベント駆動の面倒な所
13年3月3日日曜日
![Page 58: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/58.jpg)
DisplayEvent
DataIO
User
Data File
Event3
イベント駆動の面倒な所
13年3月3日日曜日
![Page 59: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/59.jpg)
DisplayEvent
DataIO
User
Data File
Event3
イベント駆動の面倒な所
13年3月3日日曜日
![Page 60: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/60.jpg)
DisplayEvent
DataIO
User
Data File
Event3
イベント駆動の面倒な所
DataIO
13年3月3日日曜日
![Page 61: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/61.jpg)
DisplayEvent
DataIO
User
Data File
Event3
イベント駆動の面倒な所
DataIO
13年3月3日日曜日
![Page 62: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/62.jpg)
DisplayEvent
DataIO
User
Data File
Event3
Event自体は画面と関係ないぞ?
イベント駆動の面倒な所
DataIO
13年3月3日日曜日
![Page 63: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/63.jpg)
User
データ駆動?
13年3月3日日曜日
![Page 64: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/64.jpg)
User
データ駆動?
13年3月3日日曜日
![Page 65: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/65.jpg)
Event
User
データ駆動?
13年3月3日日曜日
![Page 66: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/66.jpg)
Event
User
データ駆動?
13年3月3日日曜日
![Page 67: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/67.jpg)
Event
DataIO
User
データ駆動?
13年3月3日日曜日
![Page 68: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/68.jpg)
Event
DataIO
User
データ駆動?
13年3月3日日曜日
![Page 69: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/69.jpg)
Event
DataIO
User
Data File
データ駆動?
13年3月3日日曜日
![Page 70: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/70.jpg)
Event
DataIO
User
Data File
データ駆動?
13年3月3日日曜日
![Page 71: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/71.jpg)
Event
DataIO
User
Data File
Data Manager
データ駆動?
13年3月3日日曜日
![Page 72: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/72.jpg)
Event
DataIO
User
Data File
Data Manager
データ駆動?
13年3月3日日曜日
![Page 73: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/73.jpg)
Display
Event
DataIO
User
Data File
Data Manager
データ駆動?
13年3月3日日曜日
![Page 74: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/74.jpg)
Display
Event
DataIO
User
Data File
Data Manager
データ駆動?
13年3月3日日曜日
![Page 75: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/75.jpg)
Display
Event
DataIO
User
Data File
Event2Data Manager
データ駆動?
13年3月3日日曜日
![Page 76: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/76.jpg)
Display
Event
DataIO
User
Data File
Event2Data Manager
データ駆動?
13年3月3日日曜日
![Page 77: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/77.jpg)
Display
Event
DataIO
User
Data File
Event2
DataIO
Data Manager
データ駆動?
13年3月3日日曜日
![Page 78: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/78.jpg)
Display
Event
DataIO
User
Data File
Event2
DataIO
Data Manager
データ駆動?
13年3月3日日曜日
![Page 79: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/79.jpg)
Display
Event
DataIO
User
Data File
Event2
DataIO
Data Manager
すっきり!
データ駆動?
13年3月3日日曜日
![Page 80: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/80.jpg)
Display
Event
DataIO
User
Data File
Event2
DataIO
Data Manager
だが待て!
データ駆動?
13年3月3日日曜日
![Page 81: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/81.jpg)
Display
Event
DataIO
User
Data File
Event2
DataIO
Data Manager
これ、実装大変じゃない?
データ駆動?
13年3月3日日曜日
![Page 82: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/82.jpg)
NSFetchedResultsController
データ駆動!Display
Event
DataIO
User
Data File
Event2
DataIO
13年3月3日日曜日
![Page 83: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/83.jpg)
どうやって実装するの?
13年3月3日日曜日
![Page 84: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/84.jpg)
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
- (void)controller:(NSFetchedResultsController *)controller didChangeSection:(id <NSFetchedResultsSectionInfo>)sectionInfo atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
NSFetchedResultsControllerが提供するdelegate
13年3月3日日曜日
![Page 85: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/85.jpg)
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
NSFetchedResultsControllerが提供するdelegate
データの更新が開始される際に呼ばれる
13年3月3日日曜日
![Page 86: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/86.jpg)
- (void)controller:(NSFetchedResultsController *)controller didChangeSection:(id <NSFetchedResultsSectionInfo>)sectionInfo atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type
NSFetchedResultsControllerが提供するdelegate
セクションに更新があった際に呼ばれる
13年3月3日日曜日
![Page 87: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/87.jpg)
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
NSFetchedResultsControllerが提供するdelegate
データに更新があった際に呼ばれる
13年3月3日日曜日
![Page 88: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/88.jpg)
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
NSFetchedResultsControllerが提供するdelegate
データの更新が完了した際に呼ばれる
13年3月3日日曜日
![Page 89: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/89.jpg)
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
ここで画面のデータを更新
13年3月3日日曜日
![Page 90: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/90.jpg)
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
ここで画面のデータを更新
更新のあったオブジェクト
13年3月3日日曜日
![Page 91: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/91.jpg)
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
ここで画面のデータを更新
更新のあったオブジェクト
更新された行
13年3月3日日曜日
![Page 92: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/92.jpg)
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
ここで画面のデータを更新
更新のあったオブジェクト
更新された行 変更タイプ(C-UD+M)
13年3月3日日曜日
![Page 93: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/93.jpg)
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
ここで画面のデータを更新
更新のあったオブジェクト
更新された行 変更タイプ(C-UD+M)移動後の行
13年3月3日日曜日
![Page 94: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/94.jpg)
NSFetchedResultsControllerってUITableViewのための物じゃ?
13年3月3日日曜日
![Page 95: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/95.jpg)
NSFetchedResultsControllerってUITableViewのための物じゃ?
それだけじゃもったいない
13年3月3日日曜日
![Page 96: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/96.jpg)
ほんとに?
13年3月3日日曜日
![Page 97: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/97.jpg)
ほんとに?
https://github.com/gentlesoft/NSFetchedResultsControllerSample
13年3月3日日曜日
![Page 98: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/98.jpg)
注意!
13年3月3日日曜日
![Page 99: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/99.jpg)
注意!
•オブジェクトのどの属性に更新があったかは分からない
13年3月3日日曜日
![Page 100: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/100.jpg)
注意!
•オブジェクトのどの属性に更新があったかは分からない
•ゲームなど応答速度にシビアなアプリケーションには向かない
13年3月3日日曜日
![Page 101: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/101.jpg)
注意!
•オブジェクトのどの属性に更新があったかは分からない
•ゲームなど応答速度にシビアなアプリケーションには向かない
• didChangeObjectのコールが連打されるケースがある
13年3月3日日曜日
![Page 102: 20130303 idw core_data](https://reader033.vdocuments.mx/reader033/viewer/2022060118/558a2d0ad8b42acf328b466f/html5/thumbnails/102.jpg)
ご清聴ありがとうございました
13年3月3日日曜日