朝6時前に起きて、うとうとしながらやってます。
仕事のためっていうより、知らないことが出てきたことが不満らしい。
そんなわけで、iOS開発をまだ勉強中です。
しかさんに教えてもらった本を買ってきて、iOSの勉強をやっとります。
Appleの日本語ドキュメントもなかなかよろしいが、本になってると安心するのは仕方ないか。
まだObjective-Cについては、あまり踏み込んでない。
Cっぽく、C++っぽく、JavaやC#っぽいとこもあるけど、一番近いのはC++な気がしている。
ならば、そういうサイトがあるだろうと検索すると、やはりあった。
C++プログラマ(というか自分)のためのObjective-C講座(というかメモ)
Objective-Cのソースファイルを見て困ったのが、「 [ ・・・] 」と、カギ括弧が多いこと。
C#のあれでもないし、もちろん添字のあれでもない。
なんだろう、うーむ・・・
と思って読み進めると、あれはメソッド呼び出しらしい。
まだ読んでいる途中だが、
[ インスタンス メソッド];
のような形らしい。
へー。
メソッドの宣言も、ちょっと違う。
宣言
- (void) メソッド名 {
・・・
}
呼出
[ インスタンス メソッド名];
宣言
- (型) メソッド名 {
・・・
return なんやら;
}
呼出
型変数 = [ インスタンス メソッド名];
ここまでは、まあいい。
引数が1つなら、こうだ。
宣言
- (型a) メソッド名 : (型b)仮引数1 {
・・・
return なんやら;
}
呼出
型変数 = [ インスタンス メソッド名 : 引数1];
これも、よいのだ。
嫌なのは、引数が2つ以上のとき。
宣言
- (型a) メソッド名 : (型b)仮引数1 (型c)仮引数2 {
・・・
return なんやら;
}
呼出
型変数 = [ インスタンス : 引数1 仮引数2 : 引数2];
引数が2つ以上になると、2つ目からは仮引数名を一緒に指定するのだ。
たぶん、こういうルールなのだろう。
「引数の1番目は、仮引数名を省略する」
「省略できる」ではなく、省略する、とかか?
文字だけ読んでいてもわからないので、実際にやってみよう。
- (void)dbg :(int)a :(int)b :(int)c{NSLog(@"%d, %d, "5d, a, b, c);
}- (void)func
{[self dbg: 1 :2 :4];}
えー、これでいいの??
読んでる説明と違うのだが・・・・。
誤記なのか、時代によって変わったのかが判断できん。
きびしいのぅ・・・。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。