如何在Objective C中异步发送消息

时间:2012-04-15 15:44:08

标签: objective-c

根据我得到Is sending a message in Objective C actually asynchronous?

的答案,在Objective C中发送消息不是异步的

所以我的下一个问题是如何在Objective C中异步发送消息(在同一个应用程序中)甚至可能(不使用线程等复杂的东西)?

3 个答案:

答案 0 :(得分:1)

检查文档集中Apple的“并发编程指南”。您可以选择诸如线程,操作队列,调度队列等选项。这是一个很大的主题。

答案 1 :(得分:1)

如果您想使用Apple框架进行真正的异步方法调用,只需查看GCD,更准确地说是dispatch_async

GCD适用于iOS和OSX,Apple知道接下来会发生什么,因此使用这个“asycn API”可以确保您不易更新不兼容性。

良好的阅读;)

编辑好的,如果你真的不想要任何线程,你可以将你调用的方法声明为(oneway void)。我发现在覆盖release时。

这是一个SO答案,解释它的作用:https://stackoverflow.com/a/5495195/700317

希望这会有所帮助。

答案 2 :(得分:1)