rare-cheesecakeの日記

主に技術情報を不定期更新していきます。今注目しているのはPythonとDevOpsです。

iOSアプリを作ってみました(難易度選択画面)

ありゃ、気づいたら2週間も経ってしまいました。。

今回は難易度選択画面の各クラスの説明です。

 

難易度選択画面は以下のクラスを使用します。

 

●TMViewController.h

 →難易度選択画面用のヘッダーです。

●TMViewController.m

 →上記ヘッダーの実装クラスです。

●TMMainViewController.h

 →メイン画面用のヘッダーです。

●TMLogic.h

 →マインスイーパー用ロジックのヘッダーです。

●TMLogic.m

 →マインスイーパー用ロジックの実装クラスです。

 

TMViewControllerから他のヘッダーを呼び出すために、TMViewController.mにてimport定義しておきます。

#import "TMMainViewController.h"
#import "TMLogic.h"

また、難易度選択を判断するために、以下のようにロジックに難易度を表す定数を定義しています。

TMLogic.m

const int MODE_EASY = 10;
const int MODE_NORMAL = 40;
const int MODE_HARD = 199;

難易度画面用のヘッダーには以下のプロパティとメソッドを定義しています。

// メイン画面用ViewController
@property (nonatomic, weak) IBOutlet TMMainViewController *mainView;

// 難易度選択画面ボタンクリック時のアクション
- (IBAction)clickEasyButton:(id)sender;
- (IBAction)clickNormalButton:(id)sender;
- (IBAction)clickHardButton:(id)sender;
// 画面遷移メソッド
- (void)transitionToMinesweeperView:(int)difficulty;

メイン画面への遷移用メソッド以外は、storyboard上でViewControllerやボタンをヘッダーにドラッグアンドドロップすることで、自動的に追加してくれます。

遷移先画面のViewControllerはIBOutlet、ボタンはActionを指定しておきます。

f:id:rare-cheesecake:20140414223100p:plain

 

最後に難易度選択画面の実装クラスですが、各ボタンをクリックすると、難易度を指定して画面遷移用のメソッドが呼び出されるような処理としています。

// かんたんボタンをクリックした場合のアクション
- (IBAction)clickEasyButton:(id)sender {
    // 難易度を指定してメソッド呼び出し
    [self transitionToMinesweeperView:MODE_EASY];
}

- (void)transitionToMinesweeperView:(int)difficulty{
    // メイン画面用ViewController取得
    TMMainViewController *minesweeperView = [self.storyboard instantiateViewControllerWithIdentifier:@"mainview"];
    // 画面遷移
    [self presentViewController:self.mainView animated:YES completion:nil];
}