KVO 内部机制详解:isa-swizzling 的真相
添加观察者的瞬间,运行时会将对象的类动态替换为子类。本文梳理 isa-swizzling 的工作方式、class 为什么会说谎,以及不经过 setter 时不会收到通知的条件。
阅读文章精选主题 · 16 篇文章
从基础原理到实践取舍,系统浏览 Objective-C 文章。
最新文章
添加观察者的瞬间,运行时会将对象的类动态替换为子类。本文梳理 isa-swizzling 的工作方式、class 为什么会说谎,以及不经过 setter 时不会收到通知的条件。
阅读文章分类无法添加 ivar,但可以通过 Associated Objects 关联值。本文总结值存储在对象旁边的侧表中的原理、分类属性的完整实现,以及只需注意 assign 的内存策略。
阅读文章方法交换是一种在运行时互换连接选择器与 IMP 的映射表的技术。本文整理了惯用的完整实现、_cmd 说谎这一副作用,以及可以使用到什么程度的边界。
阅读文章在 Objective-C 代码中,用方括号包裹的 [receiver message] 语法看起来就像普通的方法调用。
阅读文章开始进行iOS开发后,任何人都可能至少思考过一次:“Apple明明一直在使用Objective-C,为什么还要特意重新创建Swift呢?”
阅读文章开始学习 iOS 开发后,你一定会遇到一门语言:充满方括号的陌生语法,以及 NSString 这类让人摸不着头脑的前缀。
阅读文章