【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ8【四則演算計算機を作る その2】

Xcode


さて、早いものでXcodeでiPhoneアプリを作る基礎を学ぶも8話目となりました。

最近他のこと全然書いてないもんね。

ハマりすぎ。

元々ブログ主もObjective-Cはド素人なので、失敗も含めて記事にしていきます。


XcodeでiPhoneアプリを作る基礎を学ぶ まとめ


inputButton1メソッドにコードを書いていく


前回の記事でアルゴリズムを適当に決め、プロパティやらなにやらを設定しました。

が、このときの自分はまだアルゴリズムに欠陥があることを気づいていません。

記事に晒すのは恥ずかしいけど、これもまた勉強です。


とりあえず、inputNumber1にこんなコードを記述してみた。


– (IBAction)inputNumber1:(id)sender {

  NSInteger num1 = 1 * pow(10, self.countButton);
  self.countNumber = self.countNumber + num1;
  self.countButton = self.countButton + 1;
  NSString *print = [[NSString alloc] initWithFormat:@”%d”, self.countNumber];
  self.numberOutput.text = print;

}


まず1行目、


NSInteger num1 = 1 * pow(10, self.countButton);


変数num1を作成し、それに10のボタンを押した回数分べき乗し、それにボタンの数値をかける。

ボタンを押した数が2回だと0→1で1、1ボタンは1だから、10^1*1=10ってことだね。

その結果をnum1に代入。



self.countNumber = self.countNumber + num1;


プロパティcountNumberにcountNumber+num1した数を代入。

ボタンを1度押したときは、0+1=1、2度目は1+10=11になる。



self.countButton = self.countButton + 1;


これはボタンを押した回数を記録する変数countButtonに、ボタンを押すたびに1プラスする。



NSString *print = [[NSString alloc] initWithFormat:@”%d”, self.countNumber];
self.numberOutput.text = print;


この辺は前と同じ。



シミュレータで確認


シミュレータを起動し、1ボタンをを連打してみると・・・


skitchiUKWnR



キタ━━━━━━(゚∀゚)━━━━━━!!!!!

上手くいったー!!!

と思っていたら・・・



2ボタンを配置


調子に乗って2ボタン目を配置。

作り方は1ボタンと同じで、メソッドの名前をinputNumber2に。

そしてコードちょこっと変える。


– (IBAction)inputNumber2:(id)sender {

  NSInteger num1 = 2 * pow(10, self.countButton);
  self.countNumber = self.countNumber + num1;
  self.countButton = self.countButton + 1;
  NSString *print = [[NSString alloc] initWithFormat:@”%d”, self.countNumber];
  self.numberOutput.text = print;

}


これだけ。

これでシミュレータを起動。

2ボタンを押してみる。


skitchFGwjji



お、上手く2が表示された!

よしよし。

さらに1ボタンを押してみる。


skitchKID1xo



工工エエエエエェェ(´д`)ェェエエエエエ工工

21じゃなくて12になっちゃったよ!

ナンテコッタイ。



コードを確認


コードをよく見てみたら、一番値の高い桁にボタンの数字をかけてるよ・・・。


NSInteger num1 = 1 * pow(10, self.countButton);


こりゃ上手く行くわけないわ。

完全に設計ミスです。



次回はコードを修正


せっかくがんばったのに、設計し直しでござる。

適当に決めて作り始めるとろくな事にならんね。

次回はバグの修正です。


【Objective-C】XcodeでiPhoneアプリを作る基礎を学ぶ8【四則演算計算機を作る その2】」への2件のフィードバック

    1. 葛葉 キョウジ(管理人) 投稿作成者

      計算式が間違ってましたw
      結構凡ミスするんですよね(;´Д`)

      返信

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)