Swiftで遊ぼう! - 638 - Zoomania 7
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.2.1で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
ここからNSFetchedResultsControllerに関して最も重要な内容に入ります。
データーベースの変化を自動的にテーブルビューに反映させるために使用する関数は、NSFetchedResultsControllerDelegateメソッドですが、前回までのコード実装の中でプロトコールに準拠させただけで、デリゲートメソッドを使用してません。データベースを表示するだけだったからです。
ここから本家のチュートリアルから少し離れていきます。やっと色々と試しながら拡張できるような気になってます。しかし、上手く動かないことも多く試行錯誤の繰り返しになるでしょう。途中で頓挫することも多々あり、今までにも増して、私のポストは読みにくくなることが予想されるので、気軽に読み飛ばしてください。
このブログは私の勉強の記録でしかないので、昔トライして頓挫した内容に戻ることもあるし、昔の記事を読み返してSwift2.2風に書き直して復習することもあるでしょう。
気がついたことがあればコメントお願いしますm(_ _)m
では、Zoomaniaプロジェクトに戻ります。
前回までのコーディングでSQliteデーターベースにデータをシードしてNSFetchedResultsControllerを使って、データベースのデータをTableView表示させました。しかし、新しいデータを加えたり編集する機能が実装されていません。この実装を自分なりに試していきます。
まずTableViewを設置しているViewControllerの画面上部にBar Button Itemを設置したいので、このViewControllerにNavigation Controllerを埋め込みます。オブジェクトライブラリーから「Bar Button Item」を選択して、stroyboardのナビゲーションバーの右隅に設置します。設置直後は「Item」になっています。選択されている状態でアトリビュート・インスペクタの「System Item」から「Add」を選ぶとアイテムは「+」に変化します。
取りあえず、これで準備完了です。
試しにランしてみると... AppDelegateでエラーが生じます。
以前ならこのエラーの意味が分からなかったんですが、今はちゃんと理由が分かります。なんか私進歩してます(^^)/
今日はここまで。