在 iOS 26 上@property 的一个小 bug
前段时间我阅读了 iOS 26 你的 property 崩了吗? 这篇文章,当时没有太在意。结果这一阵子我自己也遇到了类似的 bug。刚好最近我又重新读了一遍新出的 objc4-950 源码,正好读到这一段,也就顺手从源码的角度来分析一下这个问题,以及到底该怎么处理。
前段时间我阅读了 iOS 26 你的 property 崩了吗? 这篇文章,当时没有太在意。结果这一阵子我自己也遇到了类似的 bug。刚好最近我又重新读了一遍新出的 objc4-950 源码,正好读到这一段,也就顺手从源码的角度来分析一下这个问题,以及到底该怎么处理。
基于 objc4-950 版本。
在 Swift Concurrency 里,actor 很容易和 @MainActor 被混成一件事。表面上看,它们都在处理“并发访问”问题;但如果把两者等同起来,后面几乎一定会写出边界模糊的代码。
这篇文章想聊一个 iOS 系统里非常有意思的空间换时间优化。
objc_msgSend 可以作为符号被重绑定,但真正困难的不是找到它,而是在不破坏 ABI、寄存器现场和返回路径的前提下完成 hook。
这篇文章我想讲的,不只是 Mach-O 长什么样,而是为什么我现在更愿意把它理解成一套跨阶段协议:编译器、链接器、dyld,其实都在围绕同一种文件组织方式协作。
UserDefaults 是 iOS 里最常用的轻量级本地存储方案之一。因为它太方便了,很多人会很自然地把一些“小数据”直接塞进去。