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
【( TДT)】【Objective-C】implicit conversion of int to id is disallowed with arc

intはオブジェクトじゃないからdictionaryやarrayに入れられないよ …

objective-c
【( TДT)】【Objective-C】ARC forbids explicit message send of ‘autorelease’

ARCが有効の場合はretainとかrelease回りを記入するとエラーになるよ …

objective-c
【とりあえず動いた…】IOS7+Xcode開発_TODOアプリ_作成メモ(3)【しかし詳細画面がない】

3/3でついにTODO完成だぜ! http://dev.classmethod. …

no image
ボタンを角丸(iphone開発)(iOS7 + Xcode5)

xcodeでボタンを置いたら四角かった。 丸くしたい。流行りじゃないのかもしれな …

no image
iOSアプリ開発入門①(iOS7 + Xcode5)

【参考】iOS7の超絶勉強になるアプリ開発チュートリアルまとめ http://y …