Windowsを使っていたけど、iOSアプリを作るためにMacを使い始めた初心者を対象に、開発ツールXcode/iOS SDKを使ってiPhone/iPadアプリを作る方法を、プログラミング言語「Objective-C」の書き方/文法を交えて解説する連載。今回からObjective-Cの基礎文法を解説していきます。まずはプログラムを動かして変数やNSLog、フォーマット指定子などを覚えましょう。
本連載「iOS SDKで始めるObjective-C入門」では、前回の「【図解】Xcode 4.5の使い方リファレンス超まとめ」までで、iOS(iPhone/iPad)アプリの開発環境として、OS「(Mac )OS X」や開発ツール「Xcode」について説明してきました。今回からiOSアプリ開発用プログラミング言語「Objective-C」の基本文法を解説していきます。プログミング初心者の方も、手を動かしてプログミングを覚えていきましょう。
まず、連載第2回の「iOSアプリ開発初心者に捧ぐ開発環境Xcodeの概要とインストール」で作成した「HelloWorldApp」をXcodeで開きます。作成済みのプロジェクトはFinderから「HelloWorldApp.xcodeproj」をダブルクリックするか、Xcode起動時に初期表示画面の右側に表示される履歴から開くことができます。
Xcodeの画面左側にあるファイルインスペクタよりViewController.mを開き、以下のように変更しましょう。
/* 初めてのObjective-Cプログラミング ファイル名:ViewController.m 作者:平井 祐樹 作成日:2013/02/12 */ #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 「Hello World!」をコンソールに出力する NSLog(@"Hello World!"); } @end
変更したら早速実行してみましょう。プログラムを実行するには、前回説明した通り[Run]ボタンをクリックします。いかがでしょうか? 以下のようにデバッグエリアのコンソールに「Hello World!」と表示されていればOKです。
デバッグエリアが表示されていない場合は、ツールバー右側にあるViewと書かれている3つのボタンの真ん中をクリックしましょう。
このプログラムの中身、つまりソースコードを見ていきます。
まず1行目と7行目に「/*」と「*/」がありますね。これはコメントといって、人間がプログラムを読むときに読みやすくするための覚え書きみたいなものです。プログラム中に書かれたコメントは実行されない(=無視される)ので、いくらでも書くことができます。内容は何でも構いません。コメントの書き方は2種類あります。
1つ目は「//」です。プログラム中に書くと、その部分から行末まですべてコメントになります。サンプルプログラムの16行目にもありますね。
// コメント abcde//fghij
もう1つは「/*」と「*/」です。「/*」と「*/」で囲まれた部分がすべてコメントになります。
/* コメント */ /* コメント1 コメント2 */
当然ながらコメントは書かなくてもプログラムは動きます。それでも、最初はプログラムにコメントを書く癖を付けておきましょう。どんなに優秀なプログラマでも過去に書いたプログラムの内容は忘れてしまうものです。自分の書いたものでもそうなのですから、他人が読むときには、もっと大変であることはいうまでもありません。
理想はコメントを書かなくても分かりやすいプログラムを書くことなのですが、最初からそんなプログラムは書けません。とはいっても、あまり書き過ぎると、プログラムの内容が変わるたびにコメントまで直す必要が出てくるので、ほどほどにしておきましょう。
8行目や10行目を見てみると、空の行があります。Objective-Cでは(というか、ほとんどの言語では)空行は無視されます。空行は、あってもなくても構いません。試しにViewController.mを以下のように書き換えて実行してみましょう。
#import "ViewController.h" // この文は例外! @implementation ViewController- (void)viewDidLoad{[super viewDidLoad];NSLog(@"Hello World!");}@end
問題なく動くと思います。といっても、これでは見づらいですよね。改行もコメントと同様、読む人にとって見やすいように適切に入れておくよう心掛けましょう。
今度は15行目と18行目を見てみましょう。文の最後に「;(セミコロン)」があります。Objective-Cではプログラムの文の最後に必ず「;」を付けます。これは日本語の「。」と同じようなものです。試しに18行目の「;」を消してみましょう。
NSLog(@"Hello World!")
すると、18行目が赤く強調されますね。これはXcodeが「この文の最後に「;」がないですよ」と教えてくれているのです。
この状態で実行してみると、「Build Failed」と表示されるはずです。
このように、Xcodeではプログラムの内容を事前に間違いがないかチェックしてくれる機能が備わっています。Xcodeは上司とは違って、何回プログラムを提出しても怒ることはありません。最初は、あほらしいことでも疑問に思ったら遠慮なく書いて実行してみましょう。
他の部分をざっと説明すると、9行目は「ViewController.hというファイルをインポート(=取り込む)して!(#import "ViewController.h")」ということを表しています。
11行目と13〜20行目を見てみましょう。これは「値を何も返さない『(void)viewDidLoad』という名前のメソッドを持つ(- (void)viewDidLoad {……})、「ViewController」クラスを実装する(@implementation ViewController)」ということを表しています。
15行目は「親クラスで定義されているviewDidLoadメソッドを実行して!([super viewDidLoad];)」ということを表しています。
いきなり難しそうな言葉が出てきて何がなんだか分からないかもしれませんが、恐れることはありません。次回じっくり解説していくので、今はおまじないだと思って無視しましょう。
Copyright © ITmedia, Inc. All Rights Reserved.