2010年5月3日月曜日

メソッドに戻り値とパラメータがある場合

メソッドに戻り値、パラメータがある時は、ヘッダーファイル(*.h)とソースファイル(*.m)に以下の様に書きます。

------- ヘッダー(*.h) ▼ ----------
- (int) test_method : (int) param1;
------- ヘッダー(*.h) ▲ ----------



------- ソース(*.m) ▼ ----------

- (int) test_method : (int) param1
{
    処理
    return(0);
}

------- ソース(*.m) ▲ ----------


戻り値は他の言語と同じような書き方なので分かりやすいと思います。
ちょっと分かりにくいのが引数がある時の書き方で、上の例では引数にint型を持っています。
C、C++、C#言語では「:」はクラスの継承元を示すものでしたが、
Objective-Cでは、引数を表すものとなっています。

次に、引数が2つある場合はどうなるでしょうか?

------- ヘッダー(*.h) ▼ ----------

- (int) test_method : (int) param1 number:(int)nNo;

------- ヘッダー(*.h) ▲ ----------




------- ソース(*.m) ▼ ----------

- (int) test_method : (int) param1 number:(int)nNo
{
    int a = param1;
    int b = nNo;
    return(0);

}
------- ソース(*.m) ▲ ----------


行端に「 number:(int)nNo」というものが追加されました。
「number」は、2番目の引数の説明です。
Objective-Cでは、このように「引数の説明」を書きます。
続けてある「:(int)nNo」が、処理内で実際に使う引数の型と名前です。
「引数の説明」の「number」は何に使うの?と思われそうですが、こちらは「呼び出し側」で使うことになります。

引数が3つ以上ある場合は、2番目の引数と同じ様に「引数の説明:(引数の型)引数名」という風に書いていきます。

 (例)
- (int) test_method : (int) param1 number:(int)nNo param3:(int)p3

メソッドコールは別の機会に。

0 件のコメント:

コメントを投稿