对象是如何初始化的(iOS)

关注仓库,及时获得更新:iOS-Source-Code-Analyze Follow: Draveness · Github 在之前,我们已经讨论了非常多的问题了,关于 objc 源代码系列的文章也快结束了,其实关于对象是如何初始化的这篇文章本来是我要写的第一篇文 »

动态修改 C 语言函数的实现

关注仓库,及时获得更新:iOS-Source-Code-Analyze Follow: Draveness · Github Objective-C 作为基于 Runtime 的语言,它有非常强大的动态特性,可以在运行期间自省、进行方法调剂、为类增加属性、修改消息 »

黑箱中的 retain 和 release

关注仓库,及时获得更新:iOS-Source-Code-Analyze Follow: Draveness · Github 由于 Objective-C 中的内存管理是一个比较大的话题,所以会分为两篇文章来对内存管理中的一些机制进行剖析,一部分分析自动 »

成熟的夜间模式解决方案

关注仓库,及时获得更新:iOS-Source-Code-Analyze 从开始写 DKNightVersion 这个框架到现在已经将近一年了,目前整个框架的设计也趋于稳定。 其实夜间模式的实现就是相当于多主题加颜色管理。而最新版本的 DKNightVersion 已经很好的 »

懒惰的 initialize 方法

关注仓库,及时获得更新:iOS-Source-Code-Analyze 因为 ObjC 的 runtime 只能在 Mac OS 下才能编译,所以文章中的代码都是在 Mac OS,也就是 x86_64 架构下运行的,对于在 arm64 中运行的代码会特别说明。 写 »

从源代码看 ObjC 中消息的发送

Blog: Draveness 关注仓库,及时获得更新:iOS-Source-Code-Analyze 因为 ObjC 的 runtime 只能在 Mac OS 下才能编译,所以文章中的代码都是在 Mac OS,也就是 x86_64 架构下运行的,对于在 arm64 中运行的 »

深入解析 ObjC 中方法的结构

Blog: Draveness 关注仓库,及时获得更新:iOS-Source-Code-Analyze Follow: Draveness · Github 因为 ObjC 的 runtime 只能在 Mac OS 下才能编译,所以文章中的代码都是在 Ma »

从 NSObject 的初始化了解 isa

Blog: Draveness 关注仓库,及时获得更新:iOS-Source-Code-Analyze 因为 ObjC 的 runtime 只能在 Mac OS 下才能编译,所以文章中的代码都是在 Mac OS,也就是 x86_64 架构下运行的,对于在 arm64 中运行的 »

验证 HTTPS 请求的证书(五)

Blog: Draveness 关注仓库,及时获得更新:iOS-Source-Code-Analyze 自 iOS9 发布之后,由于新特性 App Transport Security 的引入,在默认行为下是不能发送 HTTP 请求的。很多网站都在转用 HTTPS,而 AFNet »