[iOS] プログラムを実行する | プログラミング初心者向けObjective-C入門

2013/04/10

では実際に、プログラムを実行してみましょう。

プログラムを実行する(Run)には、ウインドウ左上の三角ボタンを押します。
すると、ウインドウ下側のデバッグ領域(Debug area)に「Hello, World! 」と表示されます。

130410_fig1

今回実行するのに三角ボタンを押したのですが、プログラムするのに慣れてくると、毎回マウスなどに手を持っていくのが面倒になってきます。Command + R を押すと、キーボードから実行が可能になりますので試してみてください。

どこにプログラムが書いてある?

プログラムはウインドウ左側のナビゲーター領域(Navigator area)に入っています。
中を開いていくと、main.mというファイルが見つかりますので、それを選択してみてください。

130410_fig2

選択すると画面の真ん中の編集領域(Editor area)にプログラムが表示されます。

※画面キャプチャにアンチエイリアスがかかっていないのは、私の端末の設定でそうしているのでかかっていなくても気にしないでください。

プログラムを見てみます。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        
    }
    return 0;
}

真ん中へんに Hello, World! という文字があるので、どうやらこれを出力しているようです。
中の文字を少し変更して、World から Taro にしてみましょう。

NSLog(@"Hello, Taro!");

無事に出力が「Hello, Taro!」と変わりましたでしょうか?
NSLogというのは文字列を出力する命令です。
ほかにも文字列を出力するフォーマットなどを設定できるのですが、今は@”からはじまって”で終わる文字列を出力できると思ってください。

では、何行か出力するようにプログラムを修正します。
下のように真似して書いてみてください。
このとき注意することは以下のようなことです。

・ @” からはじまって ” で終わる部分以外は全て半角英数
・ 行最後の「;」セミコロンを忘れない
・ 大文字と小文字を区別して書く (NSLogはOKだけど、NsloGはNG)

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, Taro!");
        
        NSLog(@"number 1");
        
        NSLog(@"数値 2");
        NSLog(@"number 3");
    }
    return 0;
}

うまく実行されると出力されるのは、こんな感じになります。@””の中では日本語もOKでした。

2013-04-10 09:42:45.278 HelloProject[20037:303] Hello, Taro!
2013-04-10 09:42:45.280 HelloProject[20037:303] number 1
2013-04-10 09:42:45.280 HelloProject[20037:303] 数値 2
2013-04-10 09:42:45.281 HelloProject[20037:303] number 3

うまく実行されない場合、ためしに、全角のセミコロンに変えるとこんな表示が出ました。

130410_fig3

また、NsLoGという命令を書いたときは、こんな感じの警告が出ました。

130410_fig4

NsLoGなんていう命令はC99(C言語の規格)では無効だよ(無い)と書かれています。

こんな感じに、プログラムを書いているときにエラーが出ることがよくあります。
これはコンパイラ(compiler)が出しています。

コンパイラって?

コンパイラの仕事は、人間が書いたプログラムを、コンピューターで実行しやすい形式に変換するというものです。

コンパイラは人間とコンピューターの通訳者みたいなもので、人間が作ったプログラム上のミスやコンピュータ用に通訳できない箇所が出てくると、「それ何だっけ?」「意味わかんないヨ」「このプログラムの部分使ってないけどいらないんじゃない?」という感じで、エラーや警告を出してくれます。

なので、黄色や赤の表示がでたときは、何かスペルミスや、文法上の誤りなどをチェックしてみましょう。

逐次実行

さきほどのプログラムでは、書いた順に上から出力されていきました。
プログラムは、このように上から順番に実行されていきます。

プログラムの流れは大きく分けて3つの要素からできています。

1. 逐次実行(上から順番に実行していく)
2. 条件分岐(もし○○だったらAにいく, そうじゃなかったらBにいくなど)
3. 繰り返し(ループ)

今回は1でしたが、2と3についてはそのうち出てきます。
用語については特に覚える必要もありません。

まとめ

・プログラムを実行する
・プログラムがどこに書いてあるか
・プログラムを書くときの注意
・コンパイラとエラー

課題

1) NSLogを使って、自分の名前を出力するプログラムを作りましょう
2) NSLogを5回使って、1から5までの数値を順番に出力するプログラムを作りましょう

回答は次回に。次回は型についてを予定してます。

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

LINEスタンプ作りました!
毎日使える。とぼけたウサギ。LINEスタンプ販売中! 毎日使える。とぼけたウサギ

ページトップへ戻る