2012年9月5日水曜日

Objective-Cのメソッド呼び出し

最近は違和感がなくなってきたが,
最初はどうもなじめなかったObjective-Cのメソッドの呼び方。

Objective-Cで最初につまずくところだと思うのでまとめてみました。


例えば,NSString型の"str"というインスタンスがあるとする。
NSStringクラスには"length"というメソッドがある。

"str"インスタンスの"length"メソッドの呼び出しは下記の通り。

int len = [str length];


このように,"[オブジェクト メソッド]"で呼ぶ。

ちなみに自クラスのメソッドを呼ぶときは,

[self methodA];


のようになる。




NSStringクラスのsubStringToIndexメソッドは引数が必要だが,
その場合は下記のようになる。

NSString *str2 = [str subStringToIndex : 3];


このように,メソッド名の後ろにコロンと引数を記述する。




引数が複数あるときがすこしややこしく,
2つ目の引数から「ラベル」と呼ばれる引数の説明のようなものが登場する。

例えばNSMutableStringクラスのinsertStringメソッドは,
第一引数としてNSString型のオブジェクトを,第二引数としてNSUInteger型のオブジェクトを指定するが,
このうち第二引数には"atIndex"というラベル名がついている。

NSMutableString型の"mstr"インスタンスからinsertStringメソッドを呼ぶ時は下記の様になる。

[mstr insertString : str atIndex : 3];


このように,第一引数の後ろに「ラベル名 : 引数」の形で記述する。
第三引数以降も同様。




今後も暇だったらObjective-Cでつまずいたところをまとめていきます。

0 件のコメント:

コメントを投稿