objective-c - Objective C 中发送消息实际上是异步的吗?

标签 objective-c

消息的概念通常与异步调用相关。 Objective C 也是这样吗?即,当调用者向被调用者发送消息以执行其上的方法时,调用者是立即继续还是被阻塞,直到被调用者完成执行所请求的方法?

最佳答案

肯定是被屏蔽了。因为这些消息实际上是用纯 C 语言翻译的。

[myObj myMethod];

变成了

objc_msgSend(myObj, @selector(myMethod));

在运行时。

但是,某些方法被实现为异步的。请参阅 -[NSTask launch]-[NSThread start] 等。

关于objective-c - Objective C 中发送消息实际上是异步的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10162019/

相关文章:

Objective-C/C 将 UTF8 文字转换为真正的字符串

ios - 观察 currentPlaybackTime 并每隔一段时间显示一个叠加层

ios - UILabel 问题的 UITapGesture 选择器

ios - UICollectionView 的大小有时是错误的

iphone - iPhone Web 服务有理想的传输格式吗?

objective-c - 使用 NSUserNotification 激活 NSWindow

objective-c - 如何将浮点值四舍五入到小数点后两位?

ios - 在 Objective-C 中获取时间

iOS 8.0 : NSUserDefaults resets

ios - 核心数据 - 在对象在多对多关系更改属性后更新 UI