はじめてのSwift

剰余計算(その2):割った余りを計算して、4つの色を繰り返し使うラベルを作ってみよう

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
剰余計算を配列に組み合わせて、4つの色を繰り返し使ってラベルを作る方法を学びましょう。
講師:
03:55

字幕

このレッスンでは 剰余計算を配列に 組み合わせる方法について説明します まずこちらの画面をご覧下さい 現在 こちらの画面の上では colorsという配列をまず用意しています colorsの配列の中には 緑とオレンジと ブルーとレッド この4色の色を格納しています そして このcolorsを使うために 0から3までの 繰り返しを行う for文を使って 4個のラベルを作成しながら そのラベルのbackgroundColor に colorsの i番目 0番目 1番目 2番目 3番目の 色を指定しながら 4つの色のラベルを作成する ということが書かれています それではこのコードに対して 現在 0から3までという 繰り返しになっていますが もう少し この繰り返しの回数を 多くした時のことを考えてみます 例えば 0から7までの繰り返しを行って 8回の繰り返しを行うようにしたとします そうすると このcolorsの中には 現在4色しか格納されていないので このbackgroundColor = colorsと書いた時に i 番目を参照しようとした時に 4番目の数字を下さいと言われた時に エラーがでてしまいます 現在は このgreenから始まって 0番目 1番目 2番目 3番目の 色までしかありませんから 4番のところでエラーがでるわけです こういう時に使うことができるのが 剰余計算です 剰余計算で割った余りを求めることによって 4色しかないということを この配列の添え字に使うことができます i%4 このように書いてあげて colorsの i%4番目にアクセスさせて 下さいという風に言うと ちょっとこの上辺りに i%4 がどういう数字になっているのか というのを こう表示してあげると すごく分かりやすいと思うんですけれども このように01230123という風に 0123の繰り返しを表現できるのが この i%4というこの計算です ですので この i%4をcolorsの 配列に対して適応してあげることで このように同じ色を繰り返し使う ということができるようになります 現在は この色の中が4色ですけれども さらに このcolorsに +=で新しい色が追加されたとします 例えば cyanColorという水色が 追加されたとします それでもこの場合 i%4と書いているので 現在は0から4までの 数字しか出てきませんから この水色が現在出てきません そこでこのように%4という風に 決まった数字を書くのではなくて この配列に対して 現在いくつ数字が 入っているかを問い合わせることで それをこの%に渡してあげると colorsですね すみません colors.countと書いて あげることによって それをこの%の割る余りを計算する 元の数にすることによって この計算が012345という風に 計算できますので 上の方でもちょっと この4を書き替えてみましょう i%colors.count この計算が012345という風に 追加されたら追加された色の分だけ 例えば ここにグレーという色を さらに追加してみますけれども 色の数を多く使えるような そして それが繰り返されるような 計算を行うことがきます このレッスンでは 剰余計算を配列に 組み合わせて使う方法について説明しました

はじめてのSwift

このコースではまだSwiftを学んだことがない方を対象に、Swiftのプログラミング知識を基礎から一歩一歩解説していきます。変数や数値計算、条件分岐や配列、乱数など基礎的な内容を学んだのち、XcodeでiPhone用のアプリを作成します。Swiftの特徴であるPlaygroundの使い方も説明します。

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

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

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

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