×
¥
查看详情
🔥 会员专享 文生文 其它

iOS方法功能描述生成器

👁️ 91 次查看
📅 Dec 5, 2025
💡 核心价值: 本提示词专为iOS开发者设计,能够根据方法名称和核心功能描述,生成专业、准确的方法说明文档。它采用结构化分析方式,确保输出的方法描述符合iOS开发规范,包含方法目的、参数说明、返回值解释和使用场景等关键要素,帮助开发者编写清晰易懂的代码文档,提升代码可维护性和团队协作效率。

🎯 可自定义参数(2个)

方法名称
需要描述的方法名称
功能描述
方法的主要功能描述

🎨 效果示例

  • 方法概述 基于给定的用户 ID,通过 REST 接口异步获取用户资料。方法优先使用内存/磁盘缓存命中以加速返回;当 forceRefresh 为 true 时跳过缓存并强制从网络刷新。网络请求与 JSON 解析均在后台队列执行,完成后在主线程通过 completion 回调返回结果。方法内置一次失败自动重试策略,并支持在访问令牌过期时自动刷新令牌再重放请求。为减少重复请求带来的资源消耗,内部包含请求节流策略,避免短时间内对同一用户多次发起相同请求。

  • 参数说明

    • userID
      • 类型:String(或项目中定义的用户标识类型)
      • 作用:目标用户的唯一标识,用于定位后端资源与缓存条目。
      • 取值要求:必须为后端可识别的合法标识;为空或非法将导致请求失败。
    • forceRefresh
      • 类型:Bool,默认值通常为 false
      • 作用:是否跳过内存/磁盘缓存并直接从网络获取最新数据。
      • 取值影响:
        • false:先查内存缓存,其次磁盘缓存;若命中即快速返回,同时可按实现策略决定是否在后台静默刷新。
        • true:忽略缓存,直接发起网络请求并在成功后更新缓存。
    • completion
      • 类型:@escaping (Result<User, Error>) -> Void(或等效的回调签名)
      • 线程:始终在主线程调用,便于直接更新 UI。
      • 语义:回调只调用一次,成功时携带反序列化后的 User 模型,失败时返回合适的错误。
  • 返回值 无(异步)。结果通过 completion 回调返回:

  • 成功:Result.success(User)

  • 失败:Result.failure(Error),常见错误包括网络错误、服务端错误、数据解析错误、鉴权错误(如刷新令牌失败)等

  • 使用示例 示例一:优先使用缓存的常规获取

userService.fetchUserProfile(userID: "12345", forceRefresh: false) { result in
    switch result {
    case .success(let user):
        // 主线程更新 UI
        self.nameLabel.text = user.displayName
    case .failure(let error):
        // 展示错误信息或降级处理
        self.showError(error)
    }
}

示例二:下拉刷新时强制从网络更新

refreshControl.beginRefreshing()
userService.fetchUserProfile(userID: "12345", forceRefresh: true) { result in
    refreshControl.endRefreshing()
    switch result {
    case .success(let user):
        self.render(user)
    case .failure(let error):
        self.showError(error)
    }
}
  • 注意事项

    • 线程与性能:
      • 网络请求与 JSON 解析在后台队列执行,不阻塞主线程;completion 在主线程触发。
      • 避免在 completion 中执行耗时任务;如需后处理,请切换到合适的后台队列。
    • 缓存策略:
      • 非强制刷新时优先返回内存/磁盘缓存;缓存未命中才发起网络请求。
      • 强制刷新会绕过缓存并在成功后更新缓存,适用于用户主动刷新或需获取最新数据的场景。
    • 自动重试:
      • 对瞬时性失败(如网络抖动、临时 5xx)会自动再次尝试一次。持续失败将通过 completion 返回错误。
      • 请避免在外层对相同调用立即进行紧密循环重试,以免与内部重试叠加造成流量放大。
    • 令牌过期处理:
      • 检测到鉴权令牌过期时,会先刷新令牌再重放原请求。若刷新失败或重放仍失败,将通过错误回调返回。
      • 具体重试计数与令牌刷新过程的交互以实现为准,应确保无重放死循环。
    • 请求节流:
      • 对同一 userID 的高频调用会应用节流策略,避免在短时间内发起过多重复网络请求;实现可能采用合并并发请求或限频等方式。
      • 被节流的调用均会在主线程收到相同的结果回调。
    • 内存管理:
      • 在闭包中使用 [weak self] 以避免循环引用,特别是在控制器或视图上下文中。
    • 错误处理:
      • 建议根据错误类型进行差异化处理(网络不可达、解析失败、鉴权失败等),并提供用户可感知的反馈或重试入口。
  • 相关方法 当前无其它已知的公开相关方法。根据项目需要,常见的配套能力(若在您的代码库中存在)包括:

  • getCachedUserProfile(userID:): 仅从内存/磁盘缓存读取,不触发网络。

  • clearUserProfileCache(userID:)/clearAllUserProfileCache(): 清除指定/全部用户资料缓存。

  • refreshAuthToken(completion:): 手动触发刷新鉴权令牌。

  • prefetchUserProfiles(userIDs:): 预加载一批用户资料以提升后续访问速度。

方法概述 在指定的 UIViewController 上以线程安全的方式展示 UIAlertController,统一在主线程执行,支持多个按钮(UIAlertAction)及其样式配置(default/cancel/destructive)。方法会自动处理 iPad 上的弹出锚点(popover sourceView/sourceRect)与横竖屏适配,避免因缺少锚点导致的崩溃;具备重复弹出防护,若目标控制器当前已有警告弹窗正在展示,将跳过重复呈现。提供 completion 回调以便在弹窗完全消失后获知结束时机。适用于错误提示、权限引导、确认操作等通用场景。

可参考的签名形式(示例):

  • Swift: func presentAlert(on presenter: UIViewController, title: String?, message: String?, actions: [UIAlertAction], completion: (() -> Void)?)
  • Objective-C:
    • (void)presentAlertOn:(UIViewController *)presenter title:(nullable NSString *)title message:(nullable NSString *)message actions:(NSArray<UIAlertAction *> *)actions completion:(void (^ _Nullable)(void))completion;

参数说明

  • on / presenter

    • 类型:UIViewController
    • 作用:作为弹窗的呈现者(presenting view controller)。
    • 要求:应处于可见或即将可见的视图层级;方法内部在主线程安全调用。若该控制器当前正展示其他 UIAlertController,方法将避免再次弹出重复警告。
  • title

    • 类型:String? / NSString * _Nullable
    • 作用:弹窗标题,显示为加粗文本。
    • 取值:可为空;建议简洁明确,避免过长文本影响可读性。
  • message

    • 类型:String? / NSString * _Nullable
    • 作用:弹窗正文内容。
    • 取值:可为空;建议控制在若干行内,必要时考虑换行或更详细的说明链接。
  • actions

    • 类型:[UIAlertAction] / NSArray<UIAlertAction *>
    • 作用:用户可交互的按钮集合,按数组顺序展示。
    • 取值与规则:
      • 至少提供一个按钮以保证可关闭性(通常包括一个 .default 或 .cancel)。
      • 样式支持:.default、.cancel(最多一个)、.destructive。
      • 按钮的 handler 在用户点选后执行,随后弹窗关闭。
  • completion

    • 类型:(()->Void)? / void (^ _Nullable)(void)
    • 作用:在 UIAlertController 完全消失(dismiss 完成)后回调,用于后续流程衔接(如导航跳转、重试等)。
    • 线程:在主线程回调。

返回值

  • 无(Void)。显示与关闭的结果通过用户操作与 completion 回调获知。

使用示例

  • 示例一:错误提示(单按钮确认) Swift: let ok = UIAlertAction(title: "确定", style: .default) { _ in // 记录日志或清理状态 } presentAlert(on: self, title: "网络错误", message: "请求失败,请检查网络连接后重试。", actions: [ok], completion: nil)

  • 示例二:权限引导(跳转系统设置) Swift: let cancel = UIAlertAction(title: "取消", style: .cancel, handler: nil) let settings = UIAlertAction(title: "前往设置", style: .default) { _ in if let url = URL(string: UIApplication.openSettingsURLString), UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url) } } presentAlert(on: self, title: "需要相机权限", message: "请在系统设置中开启相机访问权限以继续拍摄。", actions: [cancel, settings]) { // 弹窗关闭后的后续处理(如刷新权限状态) }

Objective-C(同场景): UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; UIAlertAction *settings = [UIAlertAction actionWithTitle:@"前往设置" style:UIAlertActionStyleDefault handler:^(__unused UIAlertAction *action) { NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if (url && [[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]; } }]; [Helper presentAlertOn:self title:@"需要相机权限" message:@"请在系统设置中开启相机访问权限以继续拍摄。" actions:@[cancel, settings] completion:^{ // 弹窗关闭回调 }];

注意事项

  • 主线程调用:方法内部已确保在主线程执行 UI 呈现;若在后台线程调用,将自动切换至主线程。
  • 重复弹出防护:在同一 presenter 上已有 UIAlertController 正在显示时,本方法会跳过后续相同时机的展示,避免多层警告叠加或竞争呈现。
  • iPad 适配:当使用需要 popover 锚点的呈现形式(如 Action Sheet)时,本方法将为 popoverPresentationController 自动设置合适的 sourceView/sourceRect,避免在 iPad 上因缺失锚点导致的崩溃;横竖屏切换场景下能保持锚点有效。
  • 操作规范:
    • actions 中最多只包含一个 .cancel 按钮,并建议置于数组末尾以符合人机界面指南。
    • 在按钮 handler 中避免强引用循环(使用 [weak self] / __weak),并谨慎执行耗时操作。
  • 展示时机:确保 presenter 已加入窗口层级并可展示。若在 viewDidLoad 等过早时机调用,可能不会出现弹窗;建议在视图出现后调用(如 viewDidAppear)或在可见性已确认的业务回调中调用。
  • 文本与本地化:标题与正文建议本地化处理,并在多语言与动态字体(Dynamic Type)场景下进行可读性验证。

相关方法

  • UIKit:UIAlertController、UIAlertAction
  • UIApplication.openSettingsURLString(跳转系统设置)
  • UIViewController.present(_:animated:completion:)(系统呈现接口,用于理解底层行为)
  • 方法概述 提供通用的去抖动工具:在指定的 delay 时间窗口内合并多次触发,仅在窗口结束时执行最后一次动作。支持自定义执行所用的 DispatchQueue,并在新触发到来时自动取消上一次尚未执行的计划任务。方法设计为线程安全,可在任意线程调用,适用于搜索输入联想、滚动事件统计、文本校验等高频事件场景,以减少无效调用并提升性能。

  • 参数说明

  1. delay: TimeInterval

    • 作用:去抖时间窗口长度(秒)
    • 取值范围:建议使用非负数;通常 0.1~0.6 秒适用于用户输入与滚动等UI场景
    • 含义:在该时间窗口内若再次触发,将取消上一次未执行的计划,并重新计时
  2. queue: DispatchQueue

    • 作用:执行最终动作的目标队列
    • 取值范围:任意 DispatchQueue;默认通常为 .main
    • 建议:涉及UI更新请选择 .main;纯计算或网络请求可使用后台队列
  3. _: () -> Void

    • 作用:时间窗口结束后要执行的动作闭包
    • 行为:不会在触发时立即执行;只有在窗口内不再有新的触发时才执行
  • 返回值

  • 类型:() -> Void

  • 含义:返回一个可重复调用的“触发闭包”。每次调用该触发闭包都会:

    • 取消(如果存在)上一次尚未执行的计划任务
    • 重新开始一个新的 delay 计时
    • 在 delay 结束且期间无再次触发时,于指定 queue 上执行传入的动作闭包
  • 使用示例 示例一:搜索输入联想(在主线程合并快速输入)

final class SearchViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet private weak var textField: UITextField!
    private var currentQuery: String = ""

    // 1) 创建去抖触发器,动作在主队列执行(更新UI安全)
    private lazy var debouncedSearch = debounce(delay: 0.35, queue: .main) { [weak self] in
        guard let self else { return }
        self.performSearch(query: self.currentQuery)
    }

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        if let r = Range(range, in: textField.text ?? "") {
            currentQuery = (textField.text ?? "").replacingCharacters(in: r, with: string)
        }
        // 2) 高频输入时仅在用户短暂停顿后触发搜索
        debouncedSearch()
        return true
    }

    private func performSearch(query: String) {
        // 发起搜索请求并更新UI
    }
}

示例二:滚动事件统计(在后台队列做聚合处理)

final class AnalyticsScrollDelegate: NSObject, UIScrollViewDelegate {
    private lazy var debouncedLog = debounce(delay: 0.5, queue: .global(qos: .utility)) {
        Analytics.logEvent("scroll_stopped", parameters: nil)
    }

    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        // 高频调用:仅在用户停止滚动后再上报一次
        debouncedLog()
    }
}
  • 注意事项

  • 仅执行尾缘(trailing)调用:在时间窗口内的多次触发会被合并,最终只执行最后一次动作

  • 可能“永不触发”:若触发频率始终高于 delay(窗口未能结束),动作将一直被取消且不会执行;若需要限制最小间隔但保证一定执行,请考虑使用节流(throttle)

  • 线程与队列:

    • 触发闭包可在任意线程调用,内部保证状态一致性与线程安全
    • 动作闭包在传入的 queue 上执行;若动作包含UI更新,请选择 .main 或在动作内切回主线程
  • 内存管理:动作闭包如捕获 self,请使用 [weak self] 以避免循环引用

  • 参数建议:delay 使用正数以获得稳定的去抖效果;过小的窗口在高频触发下可能等同于“几乎每次都执行”

  • 生命周期:请确保对返回的触发闭包保持有效引用;一旦触发闭包被释放,已有的计划任务可能被取消且不再执行

  • 相关方法

  • throttle(delay:queue:_:):节流工具,在固定间隔内限制执行频率,常与去抖互补使用

  • Timer/DispatchSourceTimer:用于自定义时序控制的底层计时工具(可实现更复杂的节流/去抖策略)

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

一键生成方法概述、参数、返回值与示例,输出成稿即可粘贴进项目文档
自动解析方法名称与功能要点,提炼设计意图,避免描述含糊和遗漏关键信息
内置苹果风格表达与术语规范,确保文案口径统一,团队协作与评审更高效
支持Swift与Objective‑C双语示例,一次输入,多处复用,适配不同代码风格
自动补充典型使用场景与注意事项,覆盖边界条件,降低线上问题与返工风险
可按模块与团队约定自定义输出结构,统一模板后全员调用,文档质量始终如一
输入短短一句功能说明,即刻生成完整成稿,显著缩短研发、评审与交付周期
为代码审查与新人成长提供一致知识库,减少口头解释,沉淀团队最佳实践
质量检查环节自动识别缺失字段和歧义表述,提醒补全,保持说明客观准确

🎯 解决的问题

把“方法名 + 一句话功能”快速转化为专业、可直接使用的iOS方法说明,覆盖方法目的、参数解释、返回结果、使用示例与注意事项等关键信息;统一团队文档风格,显著降低沟通与评审成本,提升代码可读性与可维护性;适配Swift与Objective‑C双语场景,帮助个人与团队在新功能开发、重构、代码评审、对外交付等环节高效产出高质量文档,促发试用兴趣并引导持续付费使用。

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...
📋
提示词复制
在当前页面填写参数后直接复制: