我使用 btstack 在我的 iPhone 和外部设备之间进行通信。我想发送一条特殊命令来检索设备的特殊数据。但我只能从 btstack 的 handlePacket: 方法中获取数据。我只能使用委托(delegate)来处理数据。 但是我想做一个这样的方法:
- (void)readDataAsyncWithCompletionHandler:(Handler)handler
处理程序 block 应该获取数据。 我不知道该怎么做。 我制作了一个 Command 类来执行命令构造和发送。
我知道我们可以在 C# 中使用 await!那么在ios中如何处理呢?
最佳答案
你应该这样写。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//do you time consuming task
dispatch_sync(dispatch_get_main_queue(), ^{
//if you are doing any interaction with UI, do it here
});
});
关于ios - 如何制作一个异步方法来处理来自委托(delegate)的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22093242/