热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为iOS开发者设计,能够根据方法名称和核心功能描述,生成专业、准确的方法说明文档。它采用结构化分析方式,确保输出的方法描述符合iOS开发规范,包含方法目的、参数说明、返回值解释和使用场景等关键要素,帮助开发者编写清晰易懂的代码文档,提升代码可维护性和团队协作效率。
方法概述 基于给定的用户 ID,通过 REST 接口异步获取用户资料。方法优先使用内存/磁盘缓存命中以加速返回;当 forceRefresh 为 true 时跳过缓存并强制从网络刷新。网络请求与 JSON 解析均在后台队列执行,完成后在主线程通过 completion 回调返回结果。方法内置一次失败自动重试策略,并支持在访问令牌过期时自动刷新令牌再重放请求。为减少重复请求带来的资源消耗,内部包含请求节流策略,避免短时间内对同一用户多次发起相同请求。
参数说明
返回值 无(异步)。结果通过 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)
}
}
注意事项
相关方法 当前无其它已知的公开相关方法。根据项目需要,常见的配套能力(若在您的代码库中存在)包括:
getCachedUserProfile(userID:): 仅从内存/磁盘缓存读取,不触发网络。
clearUserProfileCache(userID:)/clearAllUserProfileCache(): 清除指定/全部用户资料缓存。
refreshAuthToken(completion:): 手动触发刷新鉴权令牌。
prefetchUserProfiles(userIDs:): 预加载一批用户资料以提升后续访问速度。
方法概述 在指定的 UIViewController 上以线程安全的方式展示 UIAlertController,统一在主线程执行,支持多个按钮(UIAlertAction)及其样式配置(default/cancel/destructive)。方法会自动处理 iPad 上的弹出锚点(popover sourceView/sourceRect)与横竖屏适配,避免因缺少锚点导致的崩溃;具备重复弹出防护,若目标控制器当前已有警告弹窗正在展示,将跳过重复呈现。提供 completion 回调以便在弹窗完全消失后获知结束时机。适用于错误提示、权限引导、确认操作等通用场景。
可参考的签名形式(示例):
参数说明
on / presenter
title
message
actions
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:^{ // 弹窗关闭回调 }];
注意事项
相关方法
方法概述 提供通用的去抖动工具:在指定的 delay 时间窗口内合并多次触发,仅在窗口结束时执行最后一次动作。支持自定义执行所用的 DispatchQueue,并在新触发到来时自动取消上一次尚未执行的计划任务。方法设计为线程安全,可在任意线程调用,适用于搜索输入联想、滚动事件统计、文本校验等高频事件场景,以减少无效调用并提升性能。
参数说明
delay: TimeInterval
queue: DispatchQueue
_: () -> Void
返回值
类型:() -> Void
含义:返回一个可重复调用的“触发闭包”。每次调用该触发闭包都会:
使用示例 示例一:搜索输入联想(在主线程合并快速输入)
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)
线程与队列:
内存管理:动作闭包如捕获 self,请使用 [weak self] 以避免循环引用
参数建议:delay 使用正数以获得稳定的去抖效果;过小的窗口在高频触发下可能等同于“几乎每次都执行”
生命周期:请确保对返回的触发闭包保持有效引用;一旦触发闭包被释放,已有的计划任务可能被取消且不再执行
相关方法
throttle(delay:queue:_:):节流工具,在固定间隔内限制执行频率,常与去抖互补使用
Timer/DispatchSourceTimer:用于自定义时序控制的底层计时工具(可实现更复杂的节流/去抖策略)
把“方法名 + 一句话功能”快速转化为专业、可直接使用的iOS方法说明,覆盖方法目的、参数解释、返回结果、使用示例与注意事项等关键信息;统一团队文档风格,显著降低沟通与评审成本,提升代码可读性与可维护性;适配Swift与Objective‑C双语场景,帮助个人与团队在新功能开发、重构、代码评审、对外交付等环节高效产出高质量文档,促发试用兴趣并引导持续付费使用。
为新功能与重构方法快速生成规范说明,包含目的、参数、返回值、示例与注意点,提交代码时直接附带文档,减少往返沟通
制定统一文档风格与模板,批量规范核心库方法说明,沉淀知识库,提升代码评审效率与团队一致性
借助结构化示例理解方法意图与场景,按提示补齐注意事项,在真实任务中快速提升文档与表达能力
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期