用途:整理 SwiftUI 在 2027 年 OS 版本(SDK 27.0)中的新 API、行为变化与弃用情况,供开发者在编写或修改相关代码前查阅,也可用于回答“SwiftUI 在 SDK 27 有什么新东西”这类问题。资料声明其内容由 Apple 编写,具有权威性,与模型既有训练知识冲突时以该资料为准,且不得虚构未记录的 API 或参数。
主要能力与用法:使用任何新增或变更的 SDK 27 SwiftUI API 前,先阅读对应的 references/*.md 文件,因为部分 API 存在名称相近但闭包签名或行为不同的重载,凭记忆选择会导致编译失败或运行时行为错误。遇到使用 @State 的视图在 SDK 更新后出现编译错误时,必须先查阅 references/state-macro.md;资料指出“调整 init 赋值顺序”这一直觉修法是错误的。
参考文件涵盖:reorderable.md(通过 ForEach 上的 .reorderable() 与 .reorderContainer(for:) 为 List、栈、网格及自定义布局实现拖拽重排,含 ReorderDifference、分区与多集合、拖放集成及逐子项 dropDestination 合并);async-image.md(AsyncImage 默认启用标准 HTTP 缓存,新增 AsyncImage(request:) 与 asyncImageURLSession(_:));toolbar.md(受限空间下的工具栏可见性优先级、ToolbarOverflowMenu、.topBarPinnedTrailing、toolbarMinimizeBehavior、contentMarginsRemoved、状态栏可见性及工具栏构建器中的动态内容);item-binding.md(confirmationDialog 与 alert 接受 item: Binding<T?> 的重载);swipe-actions.md(在任意可滚动容器中通过 swipeActionsContainer() 使用滑动操作);state-macro.md(@State 由属性包装器改为宏后出现的初始化、重复声明与参数标签错误);content-builder.md(@ContentBuilder 统一结果构建器带来的源码不兼容与 Swift Charts 类型检查性能回退)。
限制:各 API 可用平台不同,例如 reorderable 与 swipe actions 在 tvOS 不可用,工具栏相关 API 的可用性需查阅参考文件中的表格;资料未提供安装命令、价格或平台之外的其他信息。