Swift 的多平台策略,需要我们大家一起来建设 - #091
Swift 的多平台策略,需要我们大家一起来建设
转眼间,我使用 Claude Code 已经整整一个月了。这段时间里,它迅速成为了开发者们的新宠,关于 Claude Code 的讨论充斥着我的社交媒体时间线。恰好有网友在 Discord 上让我聊聊 Claude Code,借此机会,我想梳理一下这段时间的使用感受,以及过去两年中 AI 为我的开发工作带来的便利与思考。
NotificationCenter 作为 iOS 开发中的经典组件,为开发者提供了灵活的广播——订阅机制。然而,随着 Swift 并发模型的不断演进,传统基于字符串标识和 userInfo 字典的通知方式暴露出了诸多问题。为了彻底解决这些痛点,Swift 6.2 在 Foundation 中引入了全新的并发安全通知协议。它充分利用 Swift 的类型系统和并发隔离特性,让消息的发布与订阅在编译期就能得到验证,从根本上杜绝了“线程冲突”和“数据类型错误”等常见问题。
在 SwiftUI 的布局体系中,layoutPriority() 这一修饰器看似并不起眼,却在关键时刻能左右视图的尺寸分配。大多数开发者都了解它在 VStack 和 HStack 中为子视图争取更多空间的“魔法”能力——优先级越高,越能从拥挤的布局中脱颖而出。但你是否注意过,layoutPriority 在 ZStack 中也能大显身手?但它的运作机制与 VStack/HStack 完全不同。本篇文章将带你深入剖析这一鲜为人知的特性,演示如何在 ZStack 中应用布局优先级。
WWDC 2025 如期而至。苹果一次性发布了所有的 Session 视频,让开发者得以在第一时间了解自己感兴趣的新特性和新 API。经过两天的快速浏览,我对本届 WWDC 2025 的初步印象为:意料之中,预想之外。
如今,Xcode Playground 似乎已经偏离了最初的设计初衷,而 VSCode 的配置对初学者来说又显得颇为复杂。在这样的背景下,如何轻松地搭建一个适合学习和测试 Swift 语言的开发环境?也许本文介绍的 Notepad.exe 能为你提供满意的答案。
By Megabits
尽管 Swift 6 已发布一段时间,不少苹果第一方框架仍未完成适配,导致部分依赖这些框架的开发者在迁移过程中遇到阻碍。Megabits 在开发 SLIT_STUDIO 相机 App 时也面临类似挑战,但他选择迎难而上。本文将介绍他如何通过引入 actor、GlobalActor 以及职责清晰的组件(如 Recorder 和 CaptureManageObject),应对 Swift 6 的线程安全变更,解决 AVFoundation 与 Swift Concurrency 的兼容性问题,同时提升代码结构与安全性,避免依赖 @preconcurrency 和 nonisolated 等临时方案。
随着对 Swift 理解的不断深入,它的魅力在我眼中愈发耀眼。Swift 让我能以清晰、准确、安全、现代且优雅的方式表达编程思想。本文展示如何使用 Swift 构建一个通用的 DataFrame 导出工具,借助泛型、KeyPath、协议扩展、条件映射与 ResultBuilder,实现类型安全、可配置的数据导出功能,充分体现 Swift 的现代化表达力与灵活性。
在 SwiftUI 的众多 API 中,.ignoredByLayout() 算是一位“低调的成员”。相关资料稀少,应用场景也不常见,其名称本身就容易引发困惑。它似乎暗示着某种对布局的“忽略”,但这与我们熟知的 offset 或 scaleEffect 等修饰符默认不影响父布局的行为有何不同? ignoredByLayout 究竟在什么时机工作?它到底“忽略”或“隐瞒”了什么?本文将为你揭开这个 SwiftUI 布局机制中微妙 API 的面纱。