objective-c - 典型的 Objective C 消息实现

标签 objective-c

我想知道 Objective C 动态消息传递系统的典型(或至少是 Apple 的)实现是什么样子的。选择器在编译和运行时如何处理,NSObject* 真正指向什么,如何在其中找到方法实现。

在C++中,我们有虚函数;它们是如何实现的正式是一个实现细节,但实际上作为第一个数据成员的 VF 表指针几乎是给定的。我想知道是否有类似的普遍方式来实现 ObjC 的类系统。

最佳答案

这可能会很长。 ughoavgfhw 的回答是一个好的开始。

我建议阅读以下博客文章:

如果您不害怕深入研究源代码,objcclang可在 Apple’s Open Source Web site 获得.

关于objective-c - 典型的 Objective C 消息实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132999/

相关文章:

iphone - 用于分页的 RestKit 响应描述符

iphone - C 中分配内存的问题

ios - 如何仅在应用程序中使用 iOS 推送通知

ios - Unwind segue 不会释放我的 View Controller

ios - "The fi bug"奇怪的 iOS 7 属性文本错误

ios - UIAlertController 标题和消息不会出现在 Xcode 8.2 中

ios - Objective c 或 Swift 中的自定义日期(在范围内)选择日历

ios - 在 Popover tableview 中选择单元格后 UILabel 不刷新

ios - 在 Objective-C 中发送分块的 HTTP 1.1 请求

ios - UISwipeGestureRecognizer 和 ShareExtension : Different behaviour on iOS 12. 4 和 13.0 及最新版本(错误或未记录?)