For Want Of A Better Word

【iOS7+Xcode5】FMDBサンプルアプリの構造確認②

      2015/04/18

前回の続き


【iOS7+Xcode5】FMDBサンプルアプリの構造確認① – For Want Of A Better Word

DAOクラスがどういう風に作られているのかを確認したので、今度はこのクラスがどう利用されているのかを確認する。

ソース確認

初期表示処理

まずメイン画面と思われる「BooksViewController」

UITableViewControllerを継承して、の部分はこのクラスから処理を受け取るよ、delegateされるよということ。

hファイルでの宣言は少ないけど、mファイルの中身は充実。。

DAO、エンティティもインポート

とりあえず初期処理のviewDidLoad()

パッと見、取得したデータを描画している箇所が分からないけど
おそらくself.addNewBooksでself.booksにセットして、描画していると思われる。。。

viewDidLoad()で一覧表示に必要なデータ取得メソッドを実行。 (☆DBポイント!)
forで各1オブジェクト毎にアクセスして、addNewBook()を実行。描画用オブジェクトにセットして反映という事か。

レコードの追加・編集処理

「+ボタンを押して、EditViewを開いて」云々なので、
「+」ボタンを押したときの処理は「addBook」。
その中身はというと。。
① Editorの表示

(ざっくり)Editorインスタンスを作成して、delegateセットしてモーダル表示。

②Editor側での処理
done()で(doneボタンに紐付してある)

self.delegateにはBooksViewがセットされているので、そっちの「addBookDidFinish」「editBookDidFinish」を実行する。

こんな感じか….

削除処理

こいつはDeleteボタンに紐づくはず…

TableViewのcommitEditingStyle(編集モード時で、Delete、Insertされた時に呼び出される)の中に、
下記の記述があるので、ここで削除

DB操作処理呼び出し箇所まとめ

・Dao操作メソッドは、メインの一覧Viewに定義する。
・追加と編集は、エディット画面側で入力するが、エディット画面⇒一覧にdelegateしてデータを渡し、一覧View側のメソッドで保存処理を行う。
・削除処理はこれも一覧View側にメソッドが定義されており、リストの編集後に呼び出される「commitEdittingStyle()」メソッド内から呼び出す。

DB操作まとめ !!

<処理の記述場所>
・DAOは別クラスで定義。必要なメソッドを記述。
・DB処理の呼び出しメソッドはメインのViewControllerに記述する。


・入力系はdelegateでデータをメインに渡して、そこの処理で実施。
・削除系はリストの編集後にフックされているメソッドで実行する。

 - ios, objective-c, xcode

  関連記事

objective-c
iOS7+Xcode5開発_メモ帳サンプルアプリ改修①編集終了後キーボードを隠す。

編集終了後キーボードを隠す。 TextFieldについて [参考]http:// …

no image
【iOS】Xcode7でのプロジェクトの削除方法

  xcodeを起動して、メニュー>window>project …

objective-c
【iOS7+Xcode5】FMDB+todoアプリの

前回動かすことはできたので 下記のサンプルアプリのソースを見て、どんな風に定義し …

objective-c
【ちょっとは小慣れてきた..】IOS7+Xcode開発_TODOアプリ_作成メモ(2) 【かも】

いくぜTODOアプリ編2 以下リンクをぺしぺし。 [iOS]Storyboard …

objective-c
iOS7+Xcode5開発_メモ帳サンプルアプリ改修②編集中にフィールドが見えるようにスクロール

キーボードを出すと入力エリアが隠れるので、見えるようにしたい 操作中に入力状況が …