Lesson 2 Objective-C:Objective-C言語のお作法を覚えましょう。

iPhoneアプリは「Objective-C」というプログラミング言語で開発されています。
本項では、プログラムの流れや「メソッド(機能のかたまり)」の作り方、変数、条件分岐など、プログラミングをする上で基本的で重要な内容について解説します。
今後プログラミングの勉強をしていく上で必ず出てくる大事な内容ばかりなので、しっかり内容を確認しましょう。


【本項の目次】

  1. Objective-Cとは
    Objective-C(オブジェクティブシー)とは、C言語をベースに拡張されたプログラミング言語です。
    Apple公式のプログラミング言語として有名で、主にiPhone・iPadアプリなどのApple製品のためのアプリ開発言語として用いられています。

    1. プログラムはどのように動いているのか
      アプリがどのようにして動いているのかを知るためには、プログラムの中の命令がどのような順番で行われていて、その命令が何をしているのかという流れを知ることが重要です。
      ここでは、プログラムが動く時の流れを理解するために必要なことを解説していきます。
    2. メソッド
      プログラムは、何百行、何千行ものコード文からできています。 この一つ一つの文がそれぞれプログラムに対する命令となっています。
      これらの命令の数行をまとめた命令の固まりを「メソッド」と呼びます。
    3. メソッドの作り方
      開発でよく使う機能をまとめたメソッドは、Appleが元々用意してくれています。
      パーツの表示やカメラの起動などをプログラムで行うためには、本来はいろいろな命令を組み合わせた複雑な命令が必要となりますが、フレームワークという形にまとまっているので、その中にあるメソッドを使えるようになっています。
  2. プログラムの実行
    プログラムの動きを確認するために、新規でプロジェクトを作ってみましょう。

    1. 新規プロジェクトの作成
      新規プロジェクトの作成方法について解説します。プログラムの動きは実際にプロジェクトを実行して確認すると分かりやすく、理解もしやすいでしょう。
    2. プログラムが実行される順番
      プログラムの流れを理解するには「ひとまとまりの命令の固まりであるメソッドが実行される順番」「それぞれのメソッドの中にある1行1行のコードが実行される順番」の両方を知る必要があります。

      1. NSLog
        どのタイミングで命令が実行されたのかを見るために「ログ」というものを使います。
        ログとは、Xcodeの画面下にあるコンソールウィンドウに文字を表示するための機能です。
      2. ブレイクポイント
        プログラムの流れを途中で一時停止したい場合には「ブレイクポイント」を使います。
        ブレイクポイントを設定すると、指定した行の命令を実行する前に、その行でプログラムを一時停止することができます。
      3. メソッドの中で命令が実行される順番
        どのようにしてメソッドの中にある処理が実行されるのかを見ていきましょう。
      4. メソッドが呼び出される順番
        自分でメソッドを作って、そのメソッドがどのような順番で実行されるかを確認しましょう。
      5. プログラムの流れ
        1. メソッドを呼び出す
        2. メソッドの中にある命令が実行される
        3. メソッドの中にある命令が全て実行されたら、メソッドを呼び出した場所に戻る
        4. 次の行にある命令・メソッドが実行される
        上記の流れを動かしたプロジェクトを見ながら確認してみましょう。
    3. このセクションのまとめ
  3. 変数
    プログラムを書くときに数を使うときには、多くの場合「変数」というものを使います。
    この項目ではこの変数について解説していきます。

    1. 変数とは
      変数が何かというと、「ある値(数)を入れておくための箱」です。
      数学でも x, y といった変数に y = x+10 というように値を入れますが、プログラムでも同じように変数を用意して、そこに値を入れて取り扱います。 プログラムで計算した値をあとで使いたい場合などで、値を記憶しておくために変数は使われます。
    2. 変数を作る時のルール
      変数に値を入れる際にはまず変数を作る必要があります。
      プログラムで扱う変数には決まった種類の値しか入れられないので、変数を作るときにその変数に入れる値の種類(「型」と呼びます)と名前を決めます。

      1. よく使われる数を扱う変数の型
        変数の型の中でも、よく使われるものを紹介します。変数に入れるものによって型が異なるので、しっかり確認しておきましょう。
      2. 変数の宣言の仕方
        変数の名前は自分で自由に付けることができますが、推奨されているルールがいくつかあります。
        基本的にメソッドの名前の付け方のルールと同じです。
      3. 変数の名前の付け方
        – 使うことのできる文字は、アルファベット、数字、_(アンダーバー)のみ
        – アルファベットの大文字と小文字は別の文字として扱われる
        – 変数名は、アルファベット小文字から始める
        – 複数の単語をまとめて変数名にするには、2単語目以降の各単語の最初の文字を大文字にする
        上記のルールを例を見ながら確認してみましょう。
    3. 変数への代入
      変数を作っただけでは、まだ値を入れるための箱を作っただけなので中身は何も入っていません。
      そのため、実際に計算などで使うときには、この変数に値を入れる(「代入」)する必要があります。

      1. 変数への値の代入
        変数に値を代入する時は、その変数の型と合った値を代入します。
    4. 変数の取扱い方法
      変数の具体的な取り扱い方を確認してみましょう。

      1. 変数をログに表示する
        今まではNSLogでログに表示できるのは自分で決めた文字だけでしたが、変数を使うと計算した結果などが入った変数の中身の値を表示することもできます。
      2. 変数の宣言と代入を同時に行う
        変数は宣言と代入を同時に行うことができます。
        このことを「初期化」と呼びます。
      3. 同じ型の変数であれば、カンマで区切って同じ行でまとめて宣言や初期化を行うことができる
        「,」で変数名を区切ることによって、まとめて宣言や初期化が可能です。
        ただし、int型とfloat型な ど違う型の変数を同時に宣言、初期化することはできません。
      4. 変数に値を一度代入すると、新しい値が代入されるまでは、入っている値はもとのまま
        「i」という変数に「10」というint型の変数を代入していると、新しい値が代入されるまで、変数「i」は「10」という値のまま取り扱われます。
      5. 値が代入されている変数に対して、新しい値を代入すれば、変数に入っている値を変更することができる
        変数「i」に代入されている値は新しい値を代入することで変更されます。
        値は四則計算などで代入することもできます。
      6. 変数には、数だけではなく別の変数を代入することもできる
        直接数値などの値を代入するだけではなく、変数の中に別の変数を代入することができます。
    5. このセクションのまとめ
  4. 四則計算
    ここでは、足し算、引き算、かけ算、わり算、余りといった基本的な計算のやり方を見ていきます。

    1. 四則計算のやり方
      プログラムでは、スコアの計算や数を数えたりといった、いろいろな処理を計算によって行っています。
      変数を計算に使う場合は、実際にはその変数に記憶されている数が計算に使われます。
    2. いろいろな計算の書き方
      ある変数に対して、別の数や変数を足したり引いたりしたい場合には記号を使うことができます。
      この記号は、元の変数に対して計算した結果を代入しています。
    3. 計算の行われる順番
      数学でも「x」「÷」を「+」「−」よりも先に計算するように、プログラムでも計算の行われる順番があります。
    4. このセクションのまとめ
  5. 条件分岐
    日常生活で状況に応じて行動を変えることはよくあります。
    例えば、明日の予定を決めるときに、晴れていたら出かける、そうでなかったら家にいる、というようなことです。
    これと同じように、プログラムでも条件によって実行する命令を変更することがあります。

    1. 条件に応じた命令の実行とは
      ECサイトでユーザーの情報を聞いて、20歳未満の場合には親の許可を得ているかの確認をするダイアログを出すようなことがあります。
      このように、条件をチェックして、その条件に合った命令を実行できるようにすれば、プログラムでできることの幅が広がります。
    2. 条件のチェック
      プログラムはどのようにして条件の判断を行うのかというと、ある条件を指定して、その条件が正しいか、正しくな いかをチェックして、その後に実行する命令を決定します。
    3. 複雑な条件のチェック
      複数の条件による複雑なチェックを行う場合には、条件を組み合わせることが必要となります。
      例えば、明日の天気が晴れで25°C以上だった時には公園に出かけるというように、2つ以上のの条件をチェックして、その結果によって実行する命令を決め ることがあります。
    4. if文
      ある条件を満たしたときに命令を実行するようなときにプログラムで使われるのが「if文」と呼ばれる文です。
    5. switch文
      switch文では、チェックに使う変数と「case」の後ろの値が一致した場合に、その後にある命令が実行されます。
    6. このセクションのまとめ
  6. 繰り返し処理
    プログラムでよく行うことの一つとして、同じような命令を何度も繰り返すことがあります。

    1. for文
      命令の繰り返しを何度も書かずに簡単に省略して書くための文として「for文」があります。
      for文はあらかじめ命令を実行す る回数が決まっている繰り返しを行う時に使います。
    2. このセクションのまとめ
  7. 引数を持つメソッド
    基本のメソッドを使いやすくするものとして「引数(ひきすう)」があります。
    引数を使えば、呼び出す場所からメソッドに値を渡すことができるので、その値を使った命令を行うことができるようになります。

    1. メソッドの引数とは
      引数は必要に応じて変えられるので、同じことを行うメソッドを値を変えて使うことができます。
    2. メソッドの返り値とは
      引数はメソッドに値を渡すものでしたが、返り値はメソッドから値を返すためのものです。
      メソッドは、その中で行われた命令の結果として得られた値をメソッドを呼び出した場所に返すことができ、この時に返される値のことを返り値と呼びます。
    3. このセクションのまとめ