【发布时间】:2017-11-19 08:24:40
【问题描述】:
注意:这个问题与使用的语言没有任何关系,即 Swift/Objective-C
我似乎无法理解如何解决这样的问题。 连续处理数据的异步方法如何将这些处理后的值返回给函数?
示例类结构 -> ClassName
- 一个名为
-(void)infoCallBack的方法,这是您必须调用的方法才能连续获得回报。 - 在
-(void)infoCallBack内部-> 有一个异步方法[self startRecording],它通过回调方法void AudioInputCallback(..param..)使用AudioQueues 异步录制音频。 - 终于在
void AudioInputCallback(..param..)内部 -> 一个方法-(void) processAudio在那里,它不断处理数据并给我们一个整数。
如何调用像[ClassName infoCallBack] 这样的方法,以便我们不断地获取所有这些处理过的整数?
编辑:我搜索了 SO,并遇到了 完成处理程序块:虽然完成处理程序只在调用 completionHandler() 后返回一次值。此外,该方法的另一个问题是如何将这个completionHandler 传递给className 结构中的多个方法,如图所示。
我遇到了委托,它说当不断返回不同的值并且某些状态发生变化时,我们应该调用委托。但是在我从 ClassName 调用函数 infoCallBack 后,我被困在如何返回值上,即 [ClassName infoCallBack],它可以不断地为调用此函数的人提供正在处理的值。
【问题讨论】:
标签: ios asynchronous callback