ゴルフのスコアカウンターのiPhone版。
●画面のレイアウト
Window baseアプリケーションとして作成。図のように配置した。PARの値を選択するのにドロップダウンリストを使いたかったが、ドロップダウンリストがなかった。仕方なくSegmented controlを使用した。
●クラス構成
xibファイルのFileOwnerはAppDelegateなので、イベントハンドラはここに書くこともできたが、今回はあえてGUIイベントハンドラとして、Controllerという名前のNSObjectの派生クラスを作成した。同時にxibファイルにもObjectを追加し、Custom Class にControllerクラスを設定して連携させ、AppDelegateにOutletとして追加することでインスタンス化する。(一方、Viewを使った場合はView毎にxibファイルを作成するので、UIViewControllerの派生クラスはxibファイルのFileOwnerに指定する。よって、ControllerのObjectを別途xibに追加しなくてよい。アプリ初期化時にinitWithNibNameにxibファイル名を指定して呼び出すことで、xibを読み込んでインスタンス化する。)
●データの初期化
スコアのデータは2次元配列に保持する。Controllerを分けたので、モデルも別にしようかとは思ったが、面倒なのでControllerに持たせた。パーの値は4を初期値として設定する。この初期化処理は、AppDelegateのdidFinishLaunchingWithOptionsから呼び出す。
●イベント処理
前述のControllerクラスに各ボタンが操作された際のActionを定義し、xibで各ボタンのイベントと関連づける。
●課題
ドロップダウンリストの実装方法・・・。リストから選択させるときは何を使うのか?iPhoneを持っていないのでよくわからないが、買うと高いし・・・。サンプルなどをよく調べる必要がある。

コメントを残す