如何使用返回数据的回调函数设置匿名块

Posted

技术标签:

【中文标题】如何使用返回数据的回调函数设置匿名块【英文标题】:How to setup anonymous block with a callback function that returns data 【发布时间】:2014-04-06 02:08:24 【问题描述】:

我有一个 API 类,用于在整个应用程序中发出 url 请求,我想给它一个函数,允许我发出 API 请求并解释从服务器返回的数据。到目前为止,我只能通过一个成功返回的 void 函数来使其工作,但没有从服务器返回的内容。

我正在使用它来发出 API 请求:

-(void)requestEndpoint:(NSString*)endpoint withParams:(NSDictionary*)params success:(void (^)(void))successBlock fail:(void (^)(void))failBlock

我的问题是 ASIHTTP 需要一个 ASIBasicBlock,类型为 (void (^)(void))。如何设置完成块以期望返回带有从服务器返回的响应的字符串?

谢谢!

【问题讨论】:

【参考方案1】:

如果希望块有返回值,请将第一个 void 更改为 NSString。

(NSString* (^)(void))

如果您希望字符串作为参数传递到块中,请将第二个 void 替换为 NSString

(void (^)(NSString* str))

【讨论】:

以上是关于如何使用返回数据的回调函数设置匿名块的主要内容,如果未能解决你的问题,请参考以下文章

PHP回调函数及匿名函数概念与用法详解

JavaScript-函数(调用参数returnarguments匿名回调递归函数)函数案例

回调函数如何传参?

如何避免对标记点击事件监听器使用匿名回调函数?

使用iife调用回调内的匿名函数吗?

JavaScript 函数进阶函数(匿名回调递归函数)及相关练习