-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. 该方法采用名为connectiontype的第一个参数NSURLConnection*

  3. 该方法接受一个名为responsetype的第二个参数NSURLResponse*

这是编写方法签名的另一种方式。如果您将其视为:

- (void)connection:didReceiveResponse:

Obj-C(与 C 或 C++ 相比)的特点是参数在签名中混杂在一起。这样做的好处是您可以轻松地为方法调用中的每个参数命名:

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

它在 Cocoa 中的委托回调中传递原始对象的标准,在这种情况下是已收到响应的 NSURLConnection。

如果您一般不理解方法语法,那么可能会阅读目标 c,并在此处查看其他答案

于 2012-08-19T16:22:53.997 回答