对象C中的方法语法

时间:2012-08-19 16:16:10

标签: objective-c syntax methods

任何人都可以为我解释下面的方法声明语法吗?我无法理解“(void)”旁边的“连接:(NSURLConnection *)连接”部分

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

感谢。

3 个答案:

答案 0 :(得分: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。如果你不理解语法,那么你还有很长的路要走。

答案 1 :(得分:1)

这样想:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
  1. void是返回类型;

  2. 该方法采用名为connection NSURLConnection*的第一个参数;

  3. 该方法采用名为response NSURLResponse*的第二个参数。

  4. 编写方法签名是一种不同的方式。如果您将其视为:

    ,这会有所帮助
    - (void)connection:didReceiveResponse:
    

    Obj-C(对比C或C ++)非常有特色的是参数在签名中混合的事实。这样做的好处是,您可以轻松地为方法调用中的每个参数命名:

    [connection:currentConnection didReceiveResponse:lastResponse];
    

答案 2 :(得分:0)

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

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