-2

以下のメソッド宣言構文を説明できる人はいますか? 「(void)」の次の「connection:(NSURLConnection *)connection」の部分がわかりません

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

ありがとう。

4

3 に答える 3

4
 -                             // method type. - is instance method, + is class method
 (void)                        // return type
 connection:                   // method name
 (NSURLConnection *)connection // first argument and its type
 didReceiveResponse:           // method name continues
 (NSURLResponse *)response     // second argument and its type

しかし、おそらく本を見つけて、実際に Obj-C を学ぶべきです。構文を理解していない場合、道のりは長いです。

于 2012-08-19T16:20:57.737 に答える
1

次のように考えてください。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
  1. void は戻り値の型です。

  2. connectionこのメソッドは、 typeという名前の最初の引数を取りNSURLConnection*ます。

  3. responseこのメソッドは、 typeという 2 番目の引数を取りますNSURLResponse*

メソッド署名を記述する別の方法です。次のように考えると役立ちます。

- (void)connection:didReceiveResponse:

Obj-C (対 C または C++) の非常に特徴的な点は、署名内で引数が混在しているという事実です。これを行う利点は、メソッドの呼び出しで各引数に簡単に名前を付けることができることです。

[connection:currentConnection didReceiveResponse:lastResponse];
于 2012-08-19T16:21:51.600 に答える
0

元のオブジェクト、この場合は応答を受信した NSURLConnection を渡すための Cocoa のデリゲート コールバックの標準です。

一般的なメソッド構文を理解していない場合は、おそらく目標 c を読んで、ここで他の回答を参照してください。

于 2012-08-19T16:22:53.997 に答える