根据我得到的答案,在Objective C中发送消息不是异步的 在Objective C中发送消息实际上是异步的吗?
所以我的下一个问题是如何在Objective C中(在同一个应用程序中)实际异步发送消息是否有可能(不求助于线程等复杂的东西)?
根据我得到的答案,在Objective C中发送消息不是异步的 在Objective C中发送消息实际上是异步的吗?
所以我的下一个问题是如何在Objective C中(在同一个应用程序中)实际异步发送消息是否有可能(不求助于线程等复杂的东西)?
在文档集中查看 Apple 的“并发编程指南”。您有线程、操作队列、调度队列等选项。这是一个很大的话题。
如果你想使用 Apple 框架进行真正的异步方法调用,只需看看 GCD,更准确地说是dispatch_async
.
GCD 可用于 iOS 和 OSX,Apple 知道接下来会发生什么,因此使用此“asycn API”将确保您不太容易出现更新不兼容问题。
很好的阅读;)
编辑:好的,如果你真的不想要任何线程,你可以将你调用的方法声明为(oneway void)
. 我发现在覆盖release
.
这是一个解释它的作用的答案:https ://stackoverflow.com/a/5495195/700317
希望这可以帮助。
假设您正试图让主线程发生一些事情,那么有很多方法可以处理它。你使用哪一个取决于你在做什么。查看以下 Apple 文档: https ://developer.apple.com/library/mac/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html#//apple_ref/doc/uid/TP40008079 https:// /developer.apple.com/library/mac/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008091 https://developer.apple.com/library/mac/#文档/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html#//apple_ref/doc/uid/10000057i