はじめてのiOSアプリ開発

タッチで変えられる色の数を増やそう

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
配列を使って、画面をタッチするたびに切り替わっていく色の数を増やしてみます。
講師:
09:07

字幕

このレッスンでは 配列を使って 画面をタッチする度に表示される色の数を 増やしていきたいと思います まず 現在のコードを確認してください 現在は アプリケーションが 起動された時に呼び出される viewDidLoad の中で UIColor redColor を setBackgroundColor で 背景色にセットしています それから スクリーンがタップされたら 緑の色に変化させるということで この赤と緑の2つの色だけが 表示されるようになっています それでは これに 今度 青色と黄色の2色を 更に追加して使えるようにしたいと思います では やってみましょう まず viewController の上の所に 「 @implementation viewController 」 と 書いてある所がありますので ここに { } と書いて この { } の間に 「 NSArray *colors 」と書いて ここに配列を用意します 配列というのは 赤とか緑という色を 複数個格納しておくことができる コンテナと呼ばれる種類の オブジェクトになります ここにあるのはコメントですから コメントは消します この「 colors 」の所です この「 colors 」の配列の作り方は 一番簡単な作り方は @[ と書いたところから ] と書いたところまで インデントを調節しますけども この @[ から ] までの間に 自分が使いたい色のオブジェクトを 追加していくということです まず 赤い色から始めようと思いますので 「 UIColor redColor 」 赤い色 そして 今度は「 greenColor 」で 緑色 そして更に 青色を追加しようということで 「 blueColor 」 そして最後に 「 UIColor yellowColor 」として 赤緑青 そして黄色の4つの色を この「 colors 」という配列で まとめて参照できるようにしました この「 colors 」の使い方は 非常に簡単です ここに「 redColor 」とか 「 greenColor 」とか指定しています 例えばここを「 redColor 」ではなくて 「 colors 」の一番最初の色 「 0 番目の色を下さい」と書くと これでこの赤い色 最初の色を参照することができます この配列の色の順番というのは 0 (ゼロ)が一番最初の オブジェクトになります 1 ではありませんので そこを注意してください 2 番目の色は 1 になりますから この「 greenColor 」を使っている 「 screenTapped 」の所も 「 colors[1] 」と書くことで 緑の色が使われます 一度これで 実行して確かめておきましょう 「実行」ボタンを押します 動作はさっきまでと変わらないのですが 今度は配列の中にある色が使われて まず 最初は赤 0 番目の色が使われて その次に タップされると タップします この様に緑に変わる ということで これが 1 番目の色になりました では これを 0 番目 1 番目 2 番目 3 番目と どんどん配列の中にある色が 全て使われていくように アプリケーションの動作を 変えていきたいと思います それでは Xcode に戻りましょう 「実行停止」ボタンを押して Xcode に戻ります では もう1つ変数を 追加したいと思います 次に使う変数は int 型の colorIndex と言う名前の 変数です この「 color 」と言うのは 勿論「色」です その後ろに付いている 「 Index 」という名前は ここの「 colors 」の後ろについている 0 番目とか 「 colors 」の 1 番目という様に 「何番目」というのを表すのが この「 Index 」という名前の変数です ということで まず この「 viewDidLoad 」 「ビューが読みこまれた時に color の Index は 最初 0 にしておいてください」 と書いて ここに直接 0 を書いていますが ここに 0 を書く替わりに 「 colorIndex の colors を参照してください」 と書きます 同じ様に「 screenTapped 」の スクリーンがタッチされた時にも この「 colors 」の中身を 「 colorIndex 」に書き換えたうえで 「 colorIndex ++ 」と書いて 色のインデックスが 0 から 1 1 から2 2から 3という風に どんどん移り変わっていくように プログラムします こうすることで スクリーンがタッチされる度に 配列の中にある色が どんどん使われていくようになります 一度これで実行してみましょう すると まず 0 番目の色ですね 赤が表示されて 次に 1 番目の色として緑 そして 2 番目の色として青 最後に 3 番目の色として イエローが表示されるようになります 注意していただきたいのは 現在 このソースコードの中では 4 つしか色を用意していませんので 0 番から始まっているので 0 番 1 番 2 番 3 番の 色までしかありませんから このスクリーンが 4 回タッチされて 4 番目の色を表示してください となった時には 画面をタッチしても その色はありませんので エラーが起きてしまいます この様に エラーが起きた時には 慌てず 騒がず Xcode の左上にある 「実行停止」ボタンを押します この左側の Project navigator を 表示するボタンが その下にありますので 一番左側のこのボタンです この Project navigator を 表示するボタンを押して 「 ViewController.m 」を 選択しなおすと 元の画面に戻ります 何が悪かったのかというと この「 colorIndex 」を 「 ++ 」した後に この「 colorIndex 」を 使い続けていると 0 1 2 3 と カウントしていったものが 4 5 6 と更に カウントを続けていこうとすると エラーが出てしまうということですから ここでもしも「 colorIndex 」が この「 colors 」の中に入っている 色の数を超えてしまったら 問題ということで その時の条件をこうして if 文を使って書きます 「 colors 」という配列は これが 1 つのオブジェクトですから この「 colors 」のオブジェクトに 「 count 」というメソッドを呼び出して 「いくつのオブジェクトが入っていますか?」 と問い合わせることによって この colors 配列の中に入っている 色の数を確認することができます もしも その数以上になったことが 判明したら この「 colorIndex 」を 0 に戻すことで 最初の色に戻すことが可能です ということで これでこの colors 配列の中の色を 全て参照できるようになって また 端まで来たら元に戻る となりましたので その動作を実行して確認しておきましょう では 実行ボタンを押します この様に まず最初 0 番目の色が表示されて 2 番目の色が表示されて 3 番目 4 番目 そして 0 番目に戻ると 今度はエラーが起きずに ちゃんと実行を続けることが 出来るようになったことが分かります このレッスンでは 配列を使うことで 画面をタッチする度に表示する 色の数を増やしてみました

はじめてのiOSアプリ開発

このコースではXcodeを使ったiOS用アプリの開発に必要な基礎知識を学びます。Xcodeの基本的な使い方から本格的なゲーム制作のためのSprite Kitを用いた制作方法まで、カウントダウンタイマーやスピード暗算ゲームなど3つの簡単なiOS用アプリを作りながら説明します。このコースを見れば、本当に必要なアプリ開発の知識を着実に身に付けられるでしょう!

5時間55分 (52 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年06月04日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。