SuperAPI AI 工具集

swift-language

编程与开发

查看项目

更新于 10-16 05:06

技能介绍

用途:在不改变行为与求值顺序的前提下,将非并发、非 SwiftUI 的 Swift 代码迁移到现代语言语法与惯用法。深度解码、格式化、命名、并发与 SwiftUI 的工作分别交由 swift-codable、swift-formatstyle、swift-api-design-guidelines、swift-concurrency、swiftui-patterns 处理。\n\n主要能力:if/switch 表达式(Swift 5.9+),用于直接赋值、返回或初始化;typed throws(Swift 6+)声明错误类型,调用方获得穷尽 switch 而无需强制转换;@resultBuilder 搭建 DSL 语法;@propertyWrapper 封装存储与访问,含 wrappedValue 与 projectedValue;some(不透明类型,各返回分支须同一具体类型)与 any(存在类型,运行时动态派发)的取舍;guard 前置条件与提前退出;Never 作为无居民类型;RegexBuilder(Swift 5.7+)编写编译期检查的正则;Codable 用 CodingKeys 简单重命名、decodeIfPresent 处理可选键;现代集合 API 如 count(where:)、contains(where:)、first/last(where:)、compactMap、flatMap、Dictionary(grouping:by:)、reduce(into:);String.replacing(_:with:)。\n\n使用方式:把当前行为与求值顺序固定下来,只做一次语义改写,编译受影响模块并运行相关测试;若行为发生变化,先修复再继续,直到行为保持一致。\n\n适用场景:示例覆盖 Swift 5.7+ 至 6+ 的语言特性,可用于库与应用的语法现代化。\n\n限制:多语句分支不能作为 if/switch 表达式分支;throws(SomeError) 仅当调用方需要穷尽错误处理时使用,混合错误源用无类型 throws;Never 并非通用类型见证,不隐式遵循任意协议,也不能满足任意 T: P 泛型约束;属性包装器在无需复用或投影值时应改用计算属性;文档中未提供完整安装命令或平台支持细节。