File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3838
3939[ @DylanYang ] ( https://github.com/Dylan19Yang ) :本文介绍了 iOS 17 ~ iOS 26 中 SwiftUI SensoryFeedback 的底层缓存设计缺陷:连续变化的 intensity 浮点参数会被纳入反馈生成器的缓存 Key,导致滑动调节强度时生成大量冗余实例,引发内存持续上涨。文章也解读了 iOS 27 的官方修复思路 —— 将 SensoryFeedback 拆分为稳定的 type 与动态的 payload 两部分,仅以类型作为缓存标识,在不改动公共 API 的前提下从架构层面解决了问题。
4040
41+ ### 🐢 [ SwiftUI Is One Graph, Over 40+ Years of Engineering] ( https://aleahim.com/blog/swiftui-is-one-graph/ )
42+
43+ [ @阿权] ( https://github.com/bqlin ) :文章从工程和专利两个独立维度剖析了 SwiftUI 的本质:
44+
45+ 1 . SwiftUI 的本质:不是一棵视图树,而是单一的需求驱动属性图。每个视图编译为属性节点,依赖关系通过求值时实际读取来动态发现,而非声明。变更时只标记脏节点,沿依赖边向前传播,然后按需拉取并缓存,从而实现极小的更新成本(与变更相关,而非 UI 规模)。
46+ 2 . 核心机制:
47+ 1 . ` View ` 是值(struct),` @State ` 按标识持久存储,标识为结构位置(类型+树位置),显式 ` .id ` 与之配对。
48+ 2 . 布局是父提议、子自选、父放置的协商,父不强制尺寸。
49+ 3 . SwiftUI 合并图层,而不是每 ` View ` 一层,大幅减少图层数,但合并内容变化需重绘。
50+ 4 . 动画时模型直接跳到终值,框架复制目标并注入插值呈现。
51+ 3 . 专利印证:苹果专利 US 11,042,388 B2 完整描述了属性图、脏位、自底向上更新、动画记录和模型/呈现副本分离,与行为观察完全一致。
52+
53+ SwiftUI 只是底层技术栈(Core Animation、Core Graphics、Core Text、Core Image)之上的一层薄图,其优雅但“无趣”。真正震撼的是 Core Animation 等底层引擎。SwiftUI 最初为简化 watchOS 开发而生,后被推广至全平台;虽能让开发者快速交付功能,但仅掌握 SwiftUI 等同于只懂 “门面”,未真正理解苹果平台的底层技术,而底层的合成、绘图、排版引擎才是解决复杂问题的关键,SwiftUI 只是切入这些核心技术的 “便捷入口”。
54+
4155### 🐕 [ 系统化的iOS面试知识库] ( https://github.com/ChaselAn/awesome-ios-interview )
4256
4357[ @含笑饮砒霜] ( https://weibo.com/chinafishnews/ ) :这个仓库是一个系统化的 iOS 面试知识库,可以帮助 iOS 开发者从基础到进阶梳理面试所需知识。它以 README 和文章目录为入口,内容覆盖 Objective-C/Swift 基础、Runtime、RunLoop、内存管理、多线程、网络、性能优化、架构设计、组件化、底层原理等常见面试主题,适合用来做面试前的知识复盘和查漏补缺。
You can’t perform that action at this time.
0 commit comments