2012-02-23 10 views
0

は、以下の1以上のパラメータを追加するために客観Cでの関数のシグネチャにパラメータを追加します。このシグネチャ内のデリゲート名、関数名、パラメータ、および戻り値の型が何であるかを理解するのに役立ちます。ここで私は関数のシグネチャを行う必要がありますどのような

+1

ちょうど '追加パラメーター1:(ID)パラメーター1のパラメーター2:(ID)パラメーター2 'メソッド名に? – Costique

答えて

1

これは宿題の質問のようなビットに聞こえる...

のObjective-Cの宣言:

void locationPondSizeViewController:didSelectPondSize:(LocationPondSizeViewController *controller, NSString *thePondSize) { ... } 

- (void)locationPondSizeViewController:(LocationPondSizeViewController *)controller 
        didSelectPondSize:(NSString *)thePondSize { ... } 

のように、より伝統的なスタイル宣言を使用した言語で書かれたことになります

(ただし、ほとんどの言語では識別子には:は使用できません)

したがって、メソッド/ファンクション名はlocationPondSizeViewController:didSelectPondSize:であり、タイプLocationPondSizeViewController *NSString *の2つのパラメータをとり、何も返さない(void)、つまりプロシージャです。パラメータは、本体にcontrollerthePondSizeと表記されています。

あなたは「名前>の<一部:(<タイプ>)<パラメータ名>」あなたが必要な回数を追加することにより、更なるパラメータのために及びます。

無意味ちらほら:あなたが実際には何とコロンの前にする必要はありません、これは方法::の有効な定義です:

- (int) :(int)x :(int)y { return x + y; } 
1

は、追加のパラメータを使用して方法の一例です追加:

- (void)locationPondSizeViewController:(LocationPondSizeViewController *)controller 
        didSelectPondSize:(NSString *)thePondSize 
         withNewParameter:(NSObject*)newParam 
{ 
    ... 
} 

そして、ここではあなたがそれを呼び出す方法です:

[self.delegate locationPondSizeViewController:self didSelectPondSize:thePondSize withNewParameter:myParam]; 

をこの例では、メソッドのシグネチャが- locationPondSizeViewController:didSelectPondSize:withNewParameter:

ある

1)controller,2)thePondSize,3)newParam

の3つのパラメータが必要です。

このメソッドの戻り値の型はvoidです。

+1

これは完璧です。確かに、彼は 'locationPondSizeViewController:'の後と '(LocationPondSizeViewController *)controller'の前にリターンを置いていないことに注意してください。むしろ、メソッドのシグネチャ全体を1行に配置し、各部分の間にスペースを入れることもできます。 –

関連する問題