オブジェクティブCの勉強その2 メソッドの宣言続き。
インスタンス変数はプレフィクスでなくサフィクスにアンダーバーをつけるのがわりと標準みたい。
ローカルスコープだというのをわかりやすくするためかな。あとデリゲートで使いたい名前がやってくること多いし。
ちなみにプレフィクスにアンダーバーを使うのは、規約違反なのでNG。
メソッド宣言はこんなかんじ。
//インタフェース部分 -(int)TestMethod:(int)p1 param2:(int)p2; //実装 -(int)TestMethod:(int)p1, param2:(int)p2{ return; }
このヘッダと実装がわかれてるのがすげー気持ち悪いですね。。。
objective-cでのメソッドは、メソッド名を動作+第一引数の説明という形で書くのが通例っぽいかも。
つまり呼び出し側のコードだけ読んでなにやってるのかわかるという思想みたいですね。
オブジェクト指向的にいえば、何やってるのかわかるような名前のついたオブジェクトを渡すという思想だと思っているので、そういう意味ではより原始的なのかも。
例としてあげるならあれかな、コレクションから値とるときに、objectAtIndexメソッドを呼ばないといけないとか。
getItemとかだと呼び出しコード見ただけだとわかりづらいからって感じなんですかね。。。
余談だけどみんな大好きジェネリクスはないのでキャストしまくりです。