¥
立即购买

iOS函数注释生成专家

15 浏览
1 试用
0 购买
Dec 5, 2025更新

本提示词专为iOS开发者设计,能够根据输入的Swift函数代码自动生成专业、规范的函数注释文档。通过分析函数结构、参数类型、返回值逻辑和功能描述,生成符合苹果官方文档标准的注释格式,包括参数说明、返回值描述、异常处理等关键信息,帮助开发者提高代码可读性和维护性,确保团队协作效率。

  • 函数功能概述: 异步拉取指定城市的天气数据。函数构建带有 city 与 key 查询参数的请求 URL,设置请求超时时间,使用 URLSession 发送请求并校验 HTTP 状态码为 2xx,最后将返回的 JSON 数据解码为 Weather 模型。若 URL 构建失败、网络状态异常或解码失败,将抛出对应的错误。

  • 参数说明:

    • city: String 要查询的城市名称。将作为查询参数 city 进行 URL 编码后拼接到请求中。
    • apiKey: String 服务端 API 访问密钥。将作为查询参数 key 发送到接口。
    • timeout: TimeInterval = 8 请求超时时间(秒),默认 8 秒。对应 URLRequest.timeoutInterval。
  • 返回值描述:

    • Weather 成功时返回解码后的天气数据模型,包含以下字段:
      • city: 城市名称
      • temperature: 温度(Double)
      • condition: 天气状况描述
  • 使用示例: do { let weather = try await fetchWeather(for: "Beijing", apiKey: "YOUR_API_KEY") print("城市:(weather.city),温度:(weather.temperature),天气:(weather.condition)") } catch let error as WeatherError { switch error { case .invalidURL: print("请求地址无效") case .networkFailure: print("网络请求失败或状态码非 2xx") case .decodingFailure: print("数据解码失败") } } catch { // 其他可能由 URLSession 抛出的错误(例如 URLError) print("未知错误:(error)") }

  • 注意事项:

    • 错误抛出:
      • WeatherError.invalidURL:当 URLComponents 无法构建有效的 URL 时抛出。
      • WeatherError.networkFailure:当响应状态码不在 200..<300 范围内时抛出(包含 3xx/4xx/5xx)。
      • WeatherError.decodingFailure:当 JSONDecoder 解码 Weather 模型失败时抛出(如字段缺失或类型不匹配)。
      • 其他错误:URLSession.shared.data(for:) 过程中产生的系统错误(如 URLError.timedOut、cancelled 等)会原样向上抛出。
    • 超时设置通过 URLRequest.timeoutInterval 控制,传入的 timeout 会直接生效。
    • 该函数使用 JSONDecoder 的默认配置,需确保后端返回的 JSON 字段与 Weather 结构体属性名称和类型一致。
    • 仅将 2xx 视为成功,服务端即便返回错误信息的 JSON,也会因状态码不在 2xx 而被视为网络失败。
    • 此函数为异步方法(async/await),调用方需在异步上下文中使用;如需更新 UI,请在主线程/主 actor 上进行。
    • 示例接口为 https://api.example.com/weather,city 与 key 参数会被正确进行百分号编码。请妥善保管 apiKey,避免在客户端明文暴露。

Function Overview

Returns a new array with duplicate elements removed while preserving order. By default, the function keeps the first occurrence of each unique element. If keepLast is true, it keeps the last occurrence of each unique element, preserving their order as it appears in the original array.

Parameters

  • items: [T] The source array to deduplicate. Element type T must conform to Hashable.
  • keepLast: Bool (default: false)
    • false: Keep the first occurrence of each unique element (stable first-keep).
    • true: Keep the last occurrence of each unique element (stable last-keep).

Return Value

  • [T]: A new array containing unique elements according to the chosen policy (first or last), with order preserved among the kept elements.

Example Usage

// Keep first occurrence (default)
let input = [1, 2, 1, 3, 2, 4]
let uniqueFirst = deduplicated(input)
// uniqueFirst: [1, 2, 3, 4]

// Keep last occurrence
let uniqueLast = deduplicated(input, keepLast: true)
// uniqueLast: [1, 3, 2, 4]

// Works with any Hashable type
let names = ["Ana", "Bob", "Ana", "Cara", "Bob"]
let firstKept = deduplicated(names)                   // ["Ana", "Bob", "Cara"]
let lastKept  = deduplicated(names, keepLast: true)   // ["Ana", "Cara", "Bob"]

Notes

  • Uniqueness is determined by Hashable/Equatable conformance of T. For custom types, ensure Hashable and equality are defined correctly.
  • Time complexity: O(n); Space complexity: O(n), where n is items.count.
  • Ordering:
    • keepLast == false: Keeps the first occurrence and preserves the original order of first appearances.
    • keepLast == true: Keeps the last occurrence and preserves the original order of those last appearances.
  • Floating-point caveat: Because NaN != NaN in Swift, multiple NaN values are treated as distinct and will not be deduplicated.
  • 函数功能概述

    • 将指定的 Date 根据给定的格式模板、时区标识和本地化设置格式化为字符串。当提供的时区标识无效时抛出错误。
  • 参数说明

    • date: Date
      • 需要被格式化的日期时间对象。
    • pattern: String = "yyyy-MM-dd HH:mm"
      • 日期时间格式模板,直接赋值给 DateFormatter.dateFormat。
      • 使用 Unicode TR-35 标准的格式符号(大小写敏感),例如:
        • yyyy 年、MM 月、dd 日、HH 24小时、hh 12小时、mm 分、ss 秒、zzz 时区缩写等。
    • timeZoneID: String? = nil
      • IANA 时区标识(例如 "UTC"、"Asia/Shanghai"、"America/Los_Angeles")。
      • 传入 nil 时使用系统当前时区。
      • 传入非空但无效的标识时将抛出 DateFormatError.invalidTimeZone。
    • locale: Locale = .current
      • 本地化设置,影响月份/星期名称、数字形态等语言化结果。
      • 不影响时区,仅决定文本如何本地化显示。
  • 返回值描述

    • String
      • 按照给定格式、时区和本地化设置生成的日期时间字符串。
  • 使用示例

    • 基本用法(使用默认格式、系统时区和当前语言环境):
      • let text = try format(date: Date())
    • 指定格式、时区与本地化:
      • let date = Date(timeIntervalSince1970: 1_696_000_000) // 示例时间戳 let text = try format( date: date, pattern: "yyyy-MM-dd HH:mm zzz", timeZoneID: "Asia/Shanghai", locale: Locale(identifier: "zh_CN") )
    • 异常处理(无效时区标识):
      • do { _ = try format(date: Date(), timeZoneID: "Invalid/Zone") } catch DateFormatError.invalidTimeZone { print("提供的时区标识无效") } catch { print("其他错误:(error)") }
  • 注意事项

    • 错误抛出:仅当 timeZoneID 非空且无法解析为有效的 TimeZone 标识时抛出 DateFormatError.invalidTimeZone。
    • 默认时区:timeZoneID 为 nil 时结果依赖运行环境的当前系统时区,不同设备或设置下结果可能不同。
    • 格式模板:pattern 使用 Unicode TR-35 标准,大小写严格区分(例如 MM 表示“月”,mm 表示“分”;HH 为 24 小时制,hh 为 12 小时制)。
    • 本地化:locale 影响语言化输出(如月份/星期名),若需要固定、不随用户设置变化的“机器可读”格式,建议使用 Locale(identifier: "en_US_POSIX")。
    • 性能与线程安全:函数每次调用都会新建 DateFormatter(线程安全),但高频调用可能有性能开销;需要时可在上层对 DateFormatter 做缓存复用。

示例详情

解决的问题

让AI充当“iOS注释专家”,从Swift函数片段中一键生成专业、统一、可直接合入仓库的函数注释。以贴近苹果文档风格的结构化说明,覆盖功能概述、参数/返回值释义、调用示例与注意事项,帮助个人与团队显著提升代码可读性、缩短评审周期、降低新成员上手成本,并在重构、开源贡献、教学演示等场景中实现“写代码=出文档”。支持中英双语输出,试用即可立见成效,适合快速验证并规模化落地。

适用用户

iOS技术负责人

统一团队注释规范与审查标准,代码评审时快速聚焦逻辑问题,缩短新人上手与交接周期。

独立开发者

边写边生成功能注释与示例,回看旧项目也能迅速恢复上下文,轻松沉淀可复用文档。

新入职或实习生

用自动注释理解函数意图与边界,按范式输出文档,快速融入团队工作流程。

特征总结

一键为Swift函数生成规范注释,自动匹配苹果文档格式,随写随出。
自动识别参数与返回含义,补全用途、边界与异常说明,在评审中更易沟通。
内置用法示例与注意事项,复制即可落地到项目,降低新人上手门槛和风险。
支持中文或英文注释风格,团队对外文档与对内协作同时兼顾,减少翻译成本。
根据函数上下文自动提炼功能概述,让代码意图清晰可读,便于长期维护。
可定制注释模板与语气,统一团队风格,快速满足不同项目规范与审查标准。
重构或接手存量代码时,快速补齐关键说明,显著缩短理解与交接时间成本。
一键导出为Markdown片段,便于同步到知识库、代码仓库与教学资料。
严格约束不写臆测内容,注释均基于代码事实,降低文档与实现偏差风险。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 539 tokens
- 2 个可调节参数
{ 函数代码 } { 注释语言 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59