by Fatbobman
通过使用 MainActor.assumeIsolated,可以在同步上下文中创建主线程闭包,并返回 Sendable 类型,进而解决编译器报错,实现兼容性适配。这种方式特别适用于无法标注 @MainActor 的覆写方法。
by Fatbobman
详解 Swift 6 中 Sendable、@Sendable、sending、nonsending 等关键字的作用与区别,助你编写更安全的并发代码,避免数据竞争与线程问题。
by Fatbobman
Swift 6.2 推出 Default Actor Isolation,让开发者可为模块设置默认隔离域(如 MainActor),大幅减少并发相关的样板代码,但也引入了跨隔离域访问限制及宏开发的新挑战,需合理使用 nonisolated 避免问题
by Fatbobman
使用 Swift 6.2 中的 NotificationCenter.MainActorMessage 和 AsyncMessage 协议,实现类型安全、编译期验证的并发安全通知,消除线程冲突与类型转换错误,兼容旧 API。
by Megabits
将 Swift 6 引入相机类 App 时如何重构 AVFoundation、Metal 和 Swift Concurrency 逻辑,提升线程安全性与可维护性
by Fatbobman
使用 Swift 泛型、KeyPath 与 ResultBuilder 优雅导出 TabularData DataFrame,支持列映射、条件过滤与顺序控制,展现语言魅力
by Fatbobman
深入讲解 Swift Measurement API 的用法与最佳实践,支持数十种单位的类型安全换算、本地化格式输出、自定义单位拓展,提升开发效率与代码可读性。
by Fatbobman
Swift 6.1 支持使用官方工具链构建 WebAssembly 应用,结合 JavaScriptKit 实现 Swift 与网页的无缝交互,开启跨平台开发新时代
by Fatbobman
使用 Proxyman 拦截和模拟 iPhone 应用的网络请求,轻松分析 HTTP(S) 流量,并通过 Mock 数据测试不同数据场景下的应用行为。掌握 Proxyman 配置、证书安装和 Map Local 功能,让移动应用调试更高效。
by Fatbobman
详解 Swift 6 中 SwiftUI 视图修饰器 (@MainActor) 无法使用 @State 的原因,深入剖析 alignmentGuide 等修饰器报错机制,提供基于 wrappedValue 及预取值的解决方案,助你解决 Swift 6 编译难题。
by Fatbobman
项目重构开源!分享五个 Swift 模块:日志、iCloud 同步、UserDefaults 扩展、Core Data 和 SwiftData 增强。提升开发效率,欢迎使用!
by Fatbobman
深入解析 Swift KeyPath,探索其强大功能、类型家族和高级用法,掌握属性访问的利器,提升 Swift 编程效率。
by Fatbobman
探索 SwiftUI 中如何结合 Observation 框架高效管理 UserDefaults。本文提供完整解决方案,并介绍 @ObservableDefaults 宏,实现精准响应。
by Fatbobman
探索 Swift Charts 数据分段技术,利用 NumberBins 和 DateBins 精准处理数值与日期数据,高效实现数据可视化和分析。
by Luca Ban
了解如何在单代码库中自动合并多个 Swift 包的 String Catalog,无需额外脚本。轻松实现多包本地化!
by Fatbobman
探索 Swift Testing 框架,了解其特性、用法和优势。本文分析其如何助您编写更 Swifter、Swifty 的测试代码,并提升开发效率。
by Fatbobman
探索使用 Swift 进行嵌入式开发的潜力,本文分享了在 SwiftIO 开发板上的实践经验,并介绍了如何通过抽象化硬件实现跨平台调试。
by Fatbobman
深入解析苹果新框架 Observation 和 SwiftData,探索其设计理念,并探讨如何以新思维模式提升 SwiftUI 应用性能和数据管理效率。
by Fatbobman
探索在 SwiftData 中动态构建复杂谓词的策略,解决类似 NSCompoundPredicate 缺失的问题。利用 PredicateExpression 实现灵活的数据筛选,提升应用开发效率。
by Fatbobman
深入剖析 Swift Predicate 用法、构成及注意事项,掌握使用技巧,解决 SwiftData 应用中的限制,高效进行数据筛选和逻辑判断。
by Fatbobman
深入解析 Swift Observation 框架,它如何解决 SwiftUI 视图更新难题?本文详述其原理、用法及注意事项,助你提升 SwiftUI 应用性能。
by Fatbobman
探索多 SPM 包项目资源统一管理方案,解决重复、耦合问题,实现共享资源低存储、高一致性。利用 Bundle,让各模块轻松访问统一资源。
by Fatbobman
本文深入解析 Swift 属性包装器 @Published 的机制,展示如何为自定义包装类型添加类似能力,并提供 @MyPublished、@PublishedObject 和 @CloudStorage 示例。
by Fatbobman
探讨 Combine 与 async/await 的优势及协作方式。文章分析了它们在异步处理、错误处理和生命周期管理上的差异,并提供了三种结合使用方案,包括 flatMap、自定义 Subscriber 和 AsyncSequence。
by Fatbobman
探索 Swift 新特性 AttributedString,告别 NSAttributedString!本文详解其用法、与 NSAttributedString 对比及自定义属性,助你轻松实现样式化文本。
by Fatbobman
了解 WWDC2021 新 Formatter API 的设计机制,对比新旧 API 的差异。本文将演示如何创建符合新 API 的自定义 Formatter,包括 String 和 AttributedString 格式,并支持链式配置和本地化。
by Fatbobman
使用 Swift 5.5 Async/Await 重构 SwiftUI 状态容器,简化副作用处理和线程调度。对比 Combine 实现,新版代码更易读高效。
by Fatbobman
在 Linux 上搭建 Swift 生产级开发环境,实现代码高亮、自动补全、断点调试、代码美化等功能。含 LSP,LLDB,SwiftFormat,SwiftLint 配置及跨平台方案。