それにしても、わかりにくいのは「クラスに用意されているメソッドの呼び出し方です。先程のallocなどもそうですし、
MyTestClassに定義したメソッドを呼び出すのも、こんな具合になっていました。
[obj setMessage:
@"This is First Object!!"];
[obj printMessage];
Objective-Cでは、クラスやインスタンスにあるメソッドを呼び出す場合は、[]を使って以下のような形で記述をします。(変数は、インスタンスが設定されている変数と考えてください)
[変数 キーワード]
[変数 キーワード:値]
こんな具合に、「呼び出す対象となる
インスタンス」「呼び出すメソッドの
キーワードや
引数」といったものを順に[]内に書いていくのです。
Objective-Cでは、メソッドの呼び出しは「
メッセージ」と呼ばれるものを送信して行います。メッセージの送信先を「
レシーバ」、そのセレクタに贈るメッセージの内容を「
セレクタ」といいます。
例えば、
[obj setMessage:@"This is First Object!!"];というのは、
objというレシーバにたいして、
setMessageというセレクタに@"This is First Object!!"という値をつけてメッセージを送っている、ということになります。
[obj printMessage];であれば、
objレシーバに、
printMessageというセレクタを呼び出すメッセージを送っているわけです。このメッセージである
[obj printMessage];といったものを「
メッセージ式」と呼びます。
こんな具合に「何に向けて」「どういうものを送信するか」ということを考えてメッセージ式を組み立てて実行していくわけです。すると、レシーバーに向けてメッセージが送られ、セレクタによってどのメソッドを呼び出すのかが識別され、見つかったメソッドが実行される、というわけです。
こんな具合に、
Objective-Cのクラスは、「メソッドの定義の仕方」と「インスタンスへのメッセージの送り方」の2つがポイントとなることがわかります。この2つをしっかりと覚え、メソッドを自由に呼び出せるようになること、これが「クラス利用」の第一歩、といってよいでしょう。――まだまだわからない点はありますが、まずは「メッセージを送ってメソッドをう呼び出す」ということが確実にできるようになりましょう。