12 2021 档案

摘要:kvc本质 KVC KVC: 全称Key-Value Coding,也称为键值编码。 KVC可以通过一个key间接访问某个对象属性。 KVC有两个特性: 可以访问私有成员变量; 可以修改私有或者系统的成员属性; KVC有以下四种方法: - (void)setValue:(nullable id)va 阅读全文
posted @ 2021-12-30 15:41 任淏 阅读(355) 评论(0) 推荐(0) 编辑
摘要:KVO的本质 KVO全称Key-Value Observing,键值监听。 KVO是OC对观察者设计模式的一种实现,注册一个观察者时,调用addObserver: forKeyPath:options: context:,观察者观察A的属性,系统在运行时,动态创建一个NSKVONotifying_A 阅读全文
posted @ 2021-12-30 15:40 任淏 阅读(147) 评论(0) 推荐(0) 编辑
摘要:在OC中,类对象(class对象)和元类对象(meta-class对象)的本质结构都是struct objc_class指针,即在内存中就是结构体。 Class clas = [NSObject class]; 来到class底层源码,我们可以看到: typedef struct objc_clas 阅读全文
posted @ 2021-12-28 16:31 任淏 阅读(111) 评论(0) 推荐(0) 编辑
摘要:iOS底层原理探索—OC对象的本质 面试题 一个NSObject对象占用多少内存? 答:统会为一个NSObject对象分配最少16个字节的内存空间。一个指针变量所占用的大小(64bit占8个字节,32bit占4个字节) 系统分类了16个字节给NSObject对象(通过malloc_size函数获得) 阅读全文
posted @ 2021-12-27 15:30 任淏 阅读(77) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示