メソッドについて

iPhone / iPad アプリ を作っていてメソッドについて思ったことです。

以下のようにメソッドは宣言します。

- (戻り値型) メソッド名 : 仮引数リスト ... ;

戻り値と引数の関係

戻り値も引数もない場合
- (void)hoge{
}
戻り値があって引数がないメソッド
- (NSInteger)hoge{
    return huga;
}
引数が1つあって戻り値がないメソッド
- (void)hoge:(NSString *)huga{
}

メソッド呼び出し
[case3 hoge:@"test"];

引数が1つと戻り値があるメソッド
- (NSString *)hoge:(NSString *)huga{
    return piyo;
}

メソッド呼び出し
NSString *hogehoge = [case4 hoge:@"test"];

引数が2つと戻り値があるメソッド

今までは形式通りだったけど引数が二つだと、メソッド名を書かずに引数二つ並べた「hoge:huga:」となる

- (NSString *)hoge:(NSString *)moji huga:(NSinteger)number{
}

//メソッドの呼び出し
NSString *result = [case5 hoge:@"test" huga:5];

引数が3つ以上でも同じように引数を並べればいいんだけどどっかに資料とかないかな。。

型の前の+と-についてのメモ

- (BOOL) hoge : (string*) huga{
   …
  return YES;
}
+ (BOOL) hoge : (string*) huga{
  …
   return YES;
}

「-」:インスタンスメソッド
「+」:クラスメソッド