完璧ゼロからのiPhoneアプリ作成 -2ページ目

完璧ゼロからのiPhoneアプリ作成

Web業界でもなく、他のコードも一切分からないけど作りたいアプリがある!その挑戦記♪

★メッセージキーワード続き


例文を見てみよう!


[printInfo setLeftMargin : 60.0] ;



引数の値60.0を渡している。

へーへーへー。


[[[cw window] firstResponder] copy :sender];

もう分からない。
けど、引数がsenderになって、数字じゃなくても大丈夫って例かなと。


けど、どこがどう繋がってるのかが、分からない。


cwが変数で、windowっていうメッセージキーワード。
その結果を、 firstResponderというメッセージキーワードに渡している。
んで、またその結果を、 copyして、この一連の流れに
引数senderを渡している。。。


ホントに!?


一人で勉強してると、だんだん不安になる。
もし、詳しい人がこれを見て間違っているところがあったら
教えてください。


[doc isSameDirectory : [info objectAtIndex : ++num]];

これも、引数がメッセージ式になってる例だと思う。
それで、その引数になってるメッセージ式の中にも、引数があるよー
バージョンかな?と。
これは、ちょっとスルーしよう。


こーゆーのを理解するのは経験なのかな?


Chapter2を一通り勉強したら、
サンプルコードで、実際にアプリを作ることにするー。

★メッセージキーワード続き


テキストには↓こう書いてあった!


『メッセージに引数がある場合は、メッセージキーワードの末尾にコロン「:」を付けて
引数があることを示します。「:」の次には実引数がきます。
実引数は関数の呼び出しと同様に、一般の式が記述できます。
別のメッセージ式を実引数とすることもできます。』



ん?実引数ってなんだ?
引数とは別ものなのか?


調べてみた。

『C言語において、引数(ひきすう)とは、関数呼出し時にその関数に渡す値と、
呼び出された関数側で渡された値に名前をつけ関数内で使用できるようにしたもの、
の2つのことです。
前者が実引数、後者が仮引数と呼ばれます。』
http://www.c-lang.org/argument.html



ふーん。引数には、実引数と仮引数があるらしい。
上説明で、分かったような分からないような・・・。


関数側で、名前を付けるってパターンもあるっていうことだね。
これは、また出てきたら分かるようになるかな?
ってことで、進めます。



その実引数は

・一般の式


・別のメッセージ式



でも大丈夫。
ってことらしい。

昨日の続きです。


つまり、本の文章を簡単に言い換えると。。。


メッセージは、メッセージキーワードからできる。
メッセージキーワードは、ちゃんと名前がついていて、

それを書くことで機能する。
メッセージに引数を渡すことができる。

(仕事を渡すこともできる。)
けど、引数がなく、メッセージキーワードだけでもできる。
(仕事を渡さなくても、それ単体で機能するものもあるってことかな?)


よっし先に進みます。


【メッセージキーワードの例】


[aString copy];

[obj msg]だから
copyがメッセージキーワードってこと。
aStringっていう変数をコピーして下さいって感じかな?


width = [node width];
これも、widthっていうメッセージキーワードで
その処理結果をwidthに入れてくださいってことかな?

変数と、メッセージキーワードが一緒でも識別できるから

大丈夫という例らしい。ふむふむ。


[[doc filename] retain];
ドキュメントのファイル名をリテインしてくださいって感じ?

(だんだん、考え方が雑になってきた。笑)


ちょっと分かった気がする。


この2日間で、やっと1文章が理解できた。

いつまでかかるんだろう。。。

なんか、焦ってくる。。。