iOS学習 家計簿を作る

こんにちは、うさです。 昨日と今日でiOSの家計簿アプリを作りました。 ページの構成としてはこんな感じ スクリーンショット 2015-02-19 15.17.42 ページ数が多くてなんだかややこしいですね そしてデータベースはCoreDataのSQLiteを用いてデータの保存を行います。 では、CoreDataで使用するクラスを確認していきます。
  • NSManagedObject:CoreDataで永続化されるデータの全てをこのクラスをインスタンス化して使用。 SQLiteの場合は、1つのモデルが1つのテーブルに対応してインスタンスがそのテーブルの各レコードに対応
  • NSManagedObjectContext:CoreDataを扱う際に中心となるクラス。 データの保存・削除・移動などを管理
  • NSEntityDescription:エンティティの定義を管理するクラス。 データを新規作成する時に使用
  • NSManagedObjectModel:各エンティティの情報やエンティティ同士の関連を管理するクラス。 Xcode上のGUIのエディタで編集したものを読み込んで初期化
  • NSPersistentStoreCoordinator:NSManagedObjectModelとSQLiteなどのファイルを関連づけして永続化を行う
  • NSFetchRequest:データの検索に使用するクラス。 検索条件やソート、取得件数などを指定
  • NSFetchedResultsController:NSFetchRequestを元にデータを取得しUITableViewで扱いやすいようなAPIを提供。 delegateを指定した場合には、NSManagedObjectContextを監視して指定のNSFetchRequestに関連のある変更が合った場合にdelegateに処理を委譲する
といった感じでクラスを利用していきます。 ソースコードは全部書くと膨大な量になってしまうため、ある1ページのソースコードを書いてどんな処理を行っているのか見ていきます。   このソースコードは下の画像のページにおける処理を行います。 スクリーンショット 2015-02-19 15.45.57 家計簿における項目の入力を行うページになります。 今回、このアプリをつくってみて感じたことは、
  • ページ数が多いとどのページとどのページか関連し合っているのかがわからなくなる
  • エラーが出ている時は基本的にはスペルミス(笑) →本格的に開発を始めたら、予測変換を最大限の活用!!
  • とにかくクラスやメソッドを覚えないことには開発は難しい
です。 とりあえず、このアプリを何度も作ってみたりしてObjective-Cの記述方式に慣れていきます。 以上うさでした。

Usami Go

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です