iOS 笔记
来源:互联网 发布:amd显卡游戏优化软件 编辑:程序博客网 时间:2024/06/02 05:01
1、Category为什么只可为对象增加成员方法,却不能增加成员变量?
对象在内存中的排布可以看成一个结构体,该结构体的大小并不能动态变化,所以无法在运行时动态给对象增加成员变量,相对的对象的方法定义都保存在类的可变区域中,在 Objective-C 1.0 中,我们可以看到方法的定义列表是一个名为 methodLists
的指针的指针。通过修改该指针指向的指针的值,就可以实现动态地为某一个类增加成员方法。这也是Category
实现的原理。同时也说明了为什么Category
只可为对象增加成员方法,却不能增加成员变量。
0 0
- iOS笔记
- iOS笔记
- ios 笔记
- IOS笔记
- IOS笔记
- ios -笔记
- ios 笔记
- IOS笔记
- iOS 笔记
- IOS笔记
- ios 笔记
- IOS 笔记
- ios笔记
- iOS笔记
- iOS 笔记
- ios笔记
- ios 笔记
- iOS笔记
- linux下构建http服务器
- android类加载器的讨论
- ubuntu mount VritualBox shared folders
- 解决eclipse自动联想闪退
- spring如何使用多个xml配置文件
- iOS 笔记
- dubbo通讯生产消费调用
- Express 4.x API---(2)
- 非主流自然语言处理——遗忘算法系列(一):算法概述
- NSTimer和CADisplayLink的基本用法
- Maven Lifecycle and Goals
- BASE64编码和解码
- 利用MQTT信息协议来控制piglow灯光
- C++ enum用法