发送消息vs函数调用
2024-08-31 16:01:13
消息发送:对象处理消息;
消息发送的selector作为消息的一部分,在对象的运行时底层参与了消息分发,最终完成动态函数调用。
objc_msgSend(void /* id self, SEL op, ... */ )
id objc_msgSend ( id self, SEL op, ... );
函数调用:符号与函数地址绑定并执行。
在苹果官方文档《Objective-C Runtime Programming Guide》中提出和Objective-C运行时交互有三种方式,其中最底层的一种方式就是直接使用runtime的函数。我们下面就来看下和发送消息直接相关的几个函数:
1
2
3
4
5
|
objc_msgSend objc_msgSend_fpret objc_msgSend_stret objc_msgSendSuper objc_msgSendSuper_stret |
我们看到他们都是以objc_msgSend开头的,也就是Objective-C“消息发送”的意思,我们就来看最基础的,也就是第一个。
1
|
id objc_msgSend ( id self, SEL op, ... ); |
最新文章
- Android RecyclerView 实现支付宝首页效果
- [转]ASP.NET Core--根据方案来限制身份
- 【JS】falsy与truthy
- 记录一个mysql连接慢的问题
- if条件里比较浮点数
- Flips测试类(page43)
- SimpleDateFormat使用特定的解释
- Linux学习笔记——如何使用共享库交叉编译
- Dogs[HDU2822]
- [易飞]设置导入导出规则-小BUG
- 为 VUE 项目添加 PWA 解决发布后刷新报错问题
- 作为程序员必须掌握的Java虚拟机中的22个重难点
- A1065. A+B and C (64bit)
- sublime3 快速生成html头文件
- 微信小程序中this使用
- ScrollView 定位
- sql排序方法
- Python协程 Gevent Eventlet Greenlet
- 【BZOJ】2049: [Sdoi2008]Cave 洞穴勘测 LCT
- (转)android从应用到驱动之—camera(1)---程序调用流程
热门文章
- servlet中怎么注入service
- CSS弹性盒模型flex概念
- Android tablayout增加选择tab 的事件.
- 《Unix环境高级编程》读书笔记 第7章-进程环境
- TypeError: Cannot use 'in' operator to search for 'length' in....
- 5、AFM(Attention+FM)-----Attentional Factorization Machines:Learning the Weight of Feature Interactions via Attention Network
- NOIp2018模拟赛四十一
- mariadb-增删改查怎么用
- Linux修改Linux默认打开方式
- Python 安装 httplib2