发布
社区首页 >问答首页 >此方法签名意味着什么

此方法签名意味着什么
EN

Stack Overflow用户
提问于 2013-01-05 03:31:57
回答 2查看 94关注 0票数 1

我正在看AFNetworking的源代码(我是Objective-C和AFNetworking的新手),并试图理解一些继承的代码。看起来它们是什么都不返回的块,传入一个AFHTTPRequestOperation和响应或NSError。这是块定义吗?最后的成功/失败意味着什么?我认为这有点像成功:MyParam(NSString *)my_param。就像一句话就够了。

代码语言:javascript
代码运行次数:0
复制
- (void)getPath:(NSString *)path
     parameters:(NSDictionary *)parameters
        success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
        failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{

任何帮助都是非常感谢的。提前进行Thx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-05 03:37:20

successfailure参数是块,这是苹果对C编程语言的扩展。块非常类似于匿名函数指针。

在这个场景中,它扮演了一个插件回调函数的角色。如果成功获取路径,则调用success回调,或者调用failure回调。

签名分别指定了这些回调块应该接受的参数。这些参数的实际值将由此AFNetworking调用提供。

票数 3
EN

Stack Overflow用户

发布于 2013-01-05 03:41:53

是的,这些都是积木。您首先看到的是开头的success/failure,它是方法名称的一部分,并且是在将参数传递给方法时放在该参数之前的内容。void指示块不返回值。^尖叫着“我是一个街区!”看着你。该块有两个参数:一个在块内称为operationAFHTTPRequestOperation *和一个在块内称为responseObjectid。末尾的success/failure是整个块参数的名称,用于在接收它的方法中引用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14163649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档