Objective-Cの関数

objective-c-method.png
先頭にマイナス(-) クラスをインスタンス化して初めて実行できるインスタンスメソッド
先頭にプラス(+) クラスをインスタンス化しなくても実行可能なクラスメソッド
インスタンスメソッド クラスメソッド
- (void)instanceMethod;
+ (void)classMethod;
- (void)instanceMethod
{
    // 処理
}
+ (void)classMethod
{
    // 処理
}
MyClass *myClass = [[myClass alloc]init];
[myClass instanceMethod];
[MyClass classMethod];

関数の宣言

-(戻り値の型)関数名;

たとえば、

-(int)getCount;

引数がある場合

ここが最も変わってるところだと思います。

-(戻り値の型)関数名:(引数の型)引数;

-(int)getCount:(int)argument;

引数が複数ある場合

-(戻り値の型)関数名:(引数の型)引数 ラベル:(引数の型)引数;

引数同士は半角スペースで区切る
改行してわけてもいい 引数名が長くて沢山ある場合は、改行がわかりやすいね。
C++やってた身としてはカンマ区切りでないのが気持ちわるい、
また第2引数以降は引数にラベルをつけることができる

-(int)getCount:(int)argument label:(int)secondArgument;

関数を呼び出すとき
このラベルっていうのは、いざ関数を使うときにわかりやすくて便利だ。
-(void) initName: (NSString*)name age:(int)value;

あれ、いちいち型キャストっぽいのを書かなきゃいけないのか?

function

サポートサイト Wikidot.com function