Swiftで遊ぼう! - 609 - Multiple Managed Object Contextsチュートリアル 13
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.2.1で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
CSVに書き出す準備をしていました。
さて、次は「JournalViewController.swift」のコードを見ていきます...
...sigh
コードが長い...
......sigh
溜息しか出ません。今まで勉強してきたことを持ってすれば、コードを読み切ることができるのだろうか?
class JournalListViewController: UITableViewController, NSFetchedResultsControllerDelegate, JournalEntryDelegate {
このJournalViewControllerクラスは、UITableViewControllerを継承しています。ということは、テーブル表示のステップがかなり簡略化されているということです。必須メソッドを用意するぐらいでいいのでしょう。
そして、準拠しているプロトコールが2つ。「NSFetchedResultsControllerDelegate」と「JournalEntryDelegate」です。プロトコールとデリゲーションの関係性はもう大丈夫です。しかし、NSFetchedResultsControllerDelegateを使ったことがないので今回初めて勉強することになります。
そしてもう一つのプロトコール「JournalEntryDelegate」ですが、これはNSManagedObject継承クラスということで、NSManagedObjectクラスが持つプロトコールなんでしょう。すると、疑問が再び生まれました!
プロジェクト作成時に「Use Core Data」チェックマークに印を入れて作ったシンプルCore DataチュートリアルのViewControllerでは、このプロトコールの利用をしませんでした。Core Dataをカスタムに実装する場合はプロトコールに準拠させる必要があるようです*1。
本当に頭の悪い初心者ですね。クラス宣言のところを理解するためにこれだけ悩んでます(^_^;)
今日はここまで。