objective-c - Objective-C 中 `oneway void` 的用例?

我在 NSObject.h 中发现了一个奇怪的关键字

- (oneway void)release;

我在网上搜索了一下,了解到它与异步消息传递有关,看起来和 Erlang 的消息传递很相似。

看来这可以做出很多有趣的事情。这个关键字有哪些好的用例?

最佳答案

oneway 与分布式对象 API 一起使用,它允许在不同线程或应用程序之间使用 Objective-C 对象。它告诉系统在方法返回之前它不应该阻塞调用线程。没有它,调用者将阻塞,即使方法的返回类型是 void。显然,它永远不会与 void 以外的任何东西一起使用,因为这样做意味着该方法返回了一些东西,但调用者没有得到它。

有关分布式对象的更多信息,请参阅 Cocoa Conceptual DistrObjects .

关于objective-c - Objective-C 中 `oneway void` 的用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5494981/

相关文章:

ios - 检测到约束模糊地表明高度为零的情况

objective-c - 从当前日期减去 7 天

objective-c - 如何将 NSTimeInterval(秒)转换为分钟

iphone - 代码设计错误 : Certificate identity appearing t

ios - Swift - 使用哪些类型? NSString 或字符串

ios - 如何以编程方式检查 iOS 应用程序中是否存在键盘?

ios - 添加一个简单的 UIAlertView

ios - 如果没有 Table View 结果,在屏幕上显示 "No Results"

ios - 从 iPhone 上的 NSString 中删除 HTML 标签

iphone - ${EXECUTABLE_NAME} 和 ${PRODUCT_NAME} 在哪里定