Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 638 - Zoomania 7

ここから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でエラーが生じます。

以前ならこのエラーの意味が分からなかったんですが、今はちゃんと理由が分かります。なんか私進歩してます(^^)/

今日はここまで。