
获得徽章 15
- 用 MainActor.assumeIsolated 解决旧 API 与 Swift 6 适配问题
尽管 Swift 已经提供严格的并发检查有一段时间,许多苹果官方 API 却迟迟未能完全适配。开发者想享受 Swift 编译器的并发安全保障,却又常为如何让代码符合编译要求而困惑。本文通过一个实例,探讨 MainActor.assumeIsolated 在特定场景中的独特用途fatbobman.com
展开评论点赞 - 🧩 Swift 6 并发关键字傻傻分不清?
本文将梳理 Sendable、@unchecked Sendable、@Sendable、sending 和 nonsending 的区别与使用场景。
一张表格看懂所有区别 📊fatbobman.com
展开评论点赞 - Default Actor Isolation in Swift 6.2:好初衷带来的新问题
尽管 Swift 严格并发检查的初衷是好的,但对于很多单线程场景来说,却明显增加了开发者的负担。开发者不得不在代码中添加一些并不必要的 Sendable、@MainActor 等声明,只为了满足编译器的要求。Swift 6.2 新增的 Default Actor Isolation 功能将极大地改善这种状况,减少不必要的样板代码。本文将对 Default Actor Isolation 功能进行介绍,并指出在使用该功能后需要注意的一些情况。fatbobman.com
展开评论点赞 - Core Data 迁移事故复盘:那些被忽视的隐藏陷阱
相比一些开源框架,Core Data 和 SwiftData 虽然有苹果的官方背书,但它们的“黑盒”特性在出现异常时常令开发者束手无策,难以及时定位问题并找到有效解决方案。本文记录了一次因 Core Data 数据模型迁移导致的应用启动超时事件,分享解决方案,并深入剖析背后的成因。fatbobman.com
展开评论点赞 - 🚀 Swift 6.2 全新并发安全通知系统上线!
彻底解决传统 NotificationCenter 的三大顽疾:
❌ 字符串标识符容易出错
❌ userInfo 类型安全性低
❌ 线程行为不明确fatbobman.com
展开评论点赞 - 在 SwiftUI 中,.layoutPriority 虽然不起眼,但能影响视图尺寸分配。许多开发者知道它在 VStack 和 HStack 中的作用,优先级高的视图能获得更多空间。你是否知道它在 ZStack 中也能发挥作用?但运作机制不同于 VStack/HStack。本文将深入分析这一特性。
fatbobman.com
评论点赞 - 如今,Xcode Playground 已偏离最初设计,VSCode 的配置又让初学者望而却步。在这种情况下,如何简单创建一个适合 Swift 学习和测试的开发环境?也许,本文中的 Notepad.exe 就是你的理想选择。
fatbobman.com
评论点赞 - 借助 Swift 的泛型、KeyPath、协议扩展与 ResultBuilder,打造一款类型安全的 DataFrame 导出利器,完美结合 TabularData。探索列映射、条件逻辑以及简洁 DSL 语法,与你一同领略 Swift 的独特魅力。
fatbobman.com
评论点赞 - 在 SwiftUI 的众多 API 中,`.ignoredByLayout()` 像一位“沉默的高手”。资料稀缺,用途不显眼。但它究竟何时出场?又究竟“忽略”了哪些秘密?本文将为你揭开这个 SwiftUI 布局机制中微妙 API 的神秘面纱。
fatbobman.com
评论点赞