AI Coding 那么快,为什么还需要 SDD?
前言 截至 2026 年 7 月,GitHub 上关于 SDD 的库,spec-kit 已经有了 12 万多 Star,OpenSpec 也有 6 万多 Star。能在 GitHub 拿下这么高的 Star,想必是有说法的。AI 写代码已经那么快了,那么强了,为什么我们还需要...
前言 截至 2026 年 7 月,GitHub 上关于 SDD 的库,spec-kit 已经有了 12 万多 Star,OpenSpec 也有 6 万多 Star。能在 GitHub 拿下这么高的 Star,想必是有说法的。AI 写代码已经那么快了,那么强了,为什么我们还需要...
前言 很难想象 2026 年了还有人在写 iOS 的文章 这篇文章会从屏幕如何成像讲起,解释页面为什么会出现卡顿现象,梳理屏幕呈现一帧画面需要经历的流程,然后分析这个流程中的哪些环节可能会造成画面卡顿,并提供相应的解决方案。 大致有以下内容: - 屏幕成像原理 - 画面撕裂原因 -...
写在前面 集成灵动岛踩了一些坑,回看发现是对灵动岛的了解还不够透彻,就重新梳理了一下灵动岛从开始到结束的一整条链路,当然最好的方式是有所输出,于是就有了这篇文章。 1. 灵动岛是什么? 14 pro...
前言 《图解 HTTP》这本书把我多年的散装网络给治好了,不像《计算机网络》那么枯燥,读起来非常的畅快,这篇文章算是一份笔记,记录了我觉得 ioser(不是 loser...)应该掌握的关于网络的知识点,在末尾也做了一些补充(因为书里没有讲的那么细,也是比较常见的面试题)。...
前言 这篇文章会有一点长,会从以下几个点进行对 Block 的剖析(当然也是基于源码): - Block 的定义 - Block 底层实现 - Block 的实质 - Block 如何截获自动变量 - block 的原理 - Block 造成的循环引用问题及解决方案 Blocks 的定义...
前言 关联对象是用来为分类添加成员变量时使用的,那么为什么分类需要使用关联对象来添加成员变量呢?那肯定是因为正常的添加成员变量的方式在分类中不能用。 一般我们在类中声明一个属性,代码是这样的: 然后编译器会帮我们生成如下方法: 就是: - 生成一个实例变量 name - 生成 getter 方法...
前言 Weak 是弱引用,它是 iOS 中用于修饰变量的一种修饰符,它有两个特点: - 被 weak 修饰符修饰的对象,引用计数不会 +1 - 被 weak 修饰符修饰的对象,在废弃时,会将 nil 赋值给该变量 所谓引用计数,是苹果用来管理内存的一种机制。当一个对象被强引用时,它的引用计数会...
GCD 是什么? GCD,全称 Grand Central Dispatch,是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的 Dispatch Queue 中,GCD...
前言 这篇文章起源于很古老的一个面试题,为什么一个类的 [self class] 和 [super class] 的输出是相同的,今天从源码的角度去分析一下。 场景再现: 输出: 源码 既然都是调用的 class 方法,我们就先看一下 class 方法的实现是什么: 可以发现,class...
前言 在 Objective-C 中,一个方法的调用,编译器会将其被转成 objcmsgSend 的方式,沿着这个对象或者类的继承链,依次去查找是否有对应的方法实现,如果查找至根类,也就是 NSObject...