用途:编写和审查用于展示数值的 Swift 代码,确保使用现代 FormatStyle API,而不是旧式 Formatter 子类或 C 风格格式化。
审查流程:用 references/anti-patterns.md 查找旧式格式化模式并替换;分别用 references/numeric-styles.md、date-styles.md、duration-styles.md、other-styles.md 校验数字/百分比/货币、日期时间、时长,以及度量、列表、人名、字节数、URL 格式化;用 references/swiftui.md 检查 SwiftUI Text 视图的 FormatStyle 集成。做局部工作时只加载相关参考文件。
核心要求:基础 FormatStyle 最低目标 iOS 15+ / macOS 12+,Duration 与 URL 样式需 iOS 16+ / macOS 13+。禁止使用 DateFormatter、NumberFormatter、MeasurementFormatter、DateComponentsFormatter、DateIntervalFormatter、PersonNameComponentsFormatter、ByteCountFormatter 等旧式子类;禁止用 String(format:) 做数字格式化;不要用 DispatchQueue 在后台线程做格式化,FormatStyle 是值类型且线程安全。简单场景优先 .formatted(),复用或复杂配置用显式 FormatStyle 类型。SwiftUI 中用 Text(_:format:) 替代 Text("(value.formatted())")。货币值用 Decimal 而非 Float/Double。FormatStyle 默认感知 locale,仅在需要与用户当前 locale 不同的特定 locale 时显式设置;其类型符合 Codable 与 Hashable,可安全存储和比较。
输出方式:若用户要求审查,按文件组织发现的问题,每条给出文件与行号、被替换的反模式、简短的前后代码修正,跳过无问题的文件,最后给出按优先级排序的最有影响改动摘要。若用户要求编写或修复格式化代码,直接修改而非返回报告。
限制:资料未提供收费、价格、平台支持范围等更多信息。