1、什么是KVO? KVO是一种机制,他是建立在KVC[https://www.jianshu.com/p/f88df1e81da4]的基础上的...
一、前言 在启动 app 的时候, dyld 会对动态库进行加载、链接等一系列动作,之后就会来到 libobjc.A.dylib 库中调用 _o...
一、前言 提起 KVC,大多数的第一反应是 setValue: forKey: 以及 setValue: forKeyPath:,这也就是我们的...
在 iOS 项目中,我们经常会遇到 x[xx xx]: unrecognized selector sent to instance xxx 的...
上节我们分析了objc_msgSend的快速查找部分(汇编部分),这一节我们来分析其慢速部分,也就是c语言部分。 接下来我们通过在代码中打断点来...
在OC中,方法本质上又是什么?我们调用一个方法的时候究竟发生了什么? 方法的本质 我们新建一个项目,在main.m中实现入下代码。 通过clan...
1、回顾 在程序运行的时候,oc对象在内存中的存储结构是objc_class类型的,objc_class存放着类的方法列表,属性列表,协议列表,...
1、objc_class内部结构 NSObject对象的数据结构都是存储在objc_class内部的,即objc_class有什么,NSObje...
1.对象和类的定义 1.1 objc_object 1.2 objc_class 从源码中我们看到objc_class继承自objc_objec...