谁能为我解释下面的方法声明语法?我无法理解“(void)”旁边的“connection:(NSURLConnection *)connection”部分
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
谢谢。
谁能为我解释下面的方法声明语法?我无法理解“(void)”旁边的“connection:(NSURLConnection *)connection”部分
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
谢谢。
- // 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。如果您不了解语法,那么您还有很长的路要走。
可以这样想:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
void 是返回类型;
该方法采用名为connection
type的第一个参数NSURLConnection*
;
该方法接受一个名为response
type的第二个参数NSURLResponse*
。
这是编写方法签名的另一种方式。如果您将其视为:
- (void)connection:didReceiveResponse:
Obj-C(与 C 或 C++ 相比)的特点是参数在签名中混杂在一起。这样做的好处是您可以轻松地为方法调用中的每个参数命名:
[connection:currentConnection didReceiveResponse:lastResponse];
它在 Cocoa 中的委托回调中传递原始对象的标准,在这种情况下是已收到响应的 NSURLConnection。
如果您一般不理解方法语法,那么可能会阅读目标 c,并在此处查看其他答案