取消 Swift 中的定时事件?

2023-12-05

我想在事件发生后 10 秒内运行一段代码,但我希望能够取消它,这样如果在这 10 秒之前发生某些事情,代码将不会在 10 秒过去后运行。

我一直在使用这个,但它是不可取消的:

static func delay(delay:Double, closure:()->()) {
  dispatch_after(
    dispatch_time(
      DISPATCH_TIME_NOW,
      Int64(delay * Double(NSEC_PER_SEC))
    ),
    dispatch_get_main_queue(), closure
  )
}

我怎样才能做到这一点?


斯威夫特 3 有DispatchWorkItem:

let task = DispatchWorkItem { print("do something") }

// execute task in 2 seconds
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2, execute: task)

// optional: cancel task
task.cancel()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

取消 Swift 中的定时事件? 的相关文章

  • 来自索引范围 Swift 的新数组

    我怎样才能做这样的事情 从数组中取出前 n 个元素 newNumbers numbers 0 n 目前出现以下错误 error could not find an overload for subscript that accepts th
  • UILabel 中的文本未垂直居中

    我使用以下代码创建了一个标签 func setupValueLabel valueLabel numberOfLines 1 valueLabel font UIFont name Avenir Black size 50 valueLab
  • WKWebview 中的 iCLoud 文档选择器关闭容器视图

    我有一个 WKWebview 加载基于 Web 的 UI 我希望用户能够从其 iCloud 文档上传文件 我已授予正确的权限 并且可以浏览 iCloud 文档 但是 当我选择文件或单击取消按钮时 文档选择器视图也会关闭 WKWebview
  • 如何检测 swiftui 中是否存在键盘

    我想知道按下按钮时键盘是否存在 我该怎么做 我已经尝试过 但我没有任何运气 谢谢 使用该协议 KeyboardReadable 你可以符合任何View并从中获取键盘更新 KeyboardReadable协议 import Combine i
  • 如何去掉 UIWebView 上的状态栏背景?

    从 iOS 11 开始 当UIWebView全屏时 状态栏上会出现与屏幕颜色相同的假背景UIWebView背景 有人知道如何摆脱它吗 甚至添加IUWebView到故事板并使其全屏将使状态栏背景出现 我一直在尝试编辑 UIWebView 的大
  • Xcode 错误 - 架构 x86_64 的未定义符号?

    我正在运行 Swift 4 和 Xcode 9 beta 我收到此错误 但我不知道如何解决它 我什至不知道这是什么意思 Undefined symbols for architecture x86 64 T0So22AVCapturePho
  • 为 Swift 对象/属性设置观察者

    我一直在寻找一种在连接到 Mac 的显示器数量发生变化时触发方法的方法 我知道我可以获得 NSScreen screens count 的值 但我需要找到一种方法来在该值发生变化时创建通知或其他内容 或者指示所连接的显示器数量发生变化的其他
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • Swift 3 中的 JSON 解析

    有没有人能够找到一种在 Swift 3 中解析 JSON 文件的方法 我已经能够返回数据 但在将数据分解为特定字段时我没有成功 我会发布示例代码 但我已经尝试了很多不同的方法但没有成功 并且没有保存任何代码 我想要解析的基本格式是这样的 提
  • 调用 SwiftUI 中位置 #11、#12 处的额外参数 [重复]

    这个问题在这里已经有答案了 我在 SwiftUI 中的切换开关上不断收到 调用中位置 11 12 处有额外参数 错误 我见过其他人有 调用中的额外参数 错误 但答案似乎没有帮助 另外 我的错误是 位置 11 12 我还没有看到其他人发生这种
  • 对成员“buildBlock()”的引用不明确

    我一直在尝试使用 Swift UI 为 iOS 13 制作一个应用程序 但我不断收到这个奇怪的错误 对成员 buildBlock 的引用不明确 无论我做什么 错误都不会消失 我尝试一次对代码段进行注释 以查看哪一部分可能导致了问题 但唯一有
  • Swift 中的柯里函数

    我想创建一个返回柯里函数的函数 如下所示 func addTwoNumbers a Int b Int gt Int return a b addTwoNumbers 4 b 6 Result 10 var add4 addTwoNumbe
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • 如何将字符串日期转换为 NSDate?

    我想转换字符串 2014 07 15 06 55 14 198000 00 00 to an NSDate在斯威夫特 尝试这个 let dateFormatter NSDateFormatter dateFormatter dateForm
  • 在真实设备上展示测试广告

    这是我的代码 let request GADRequest request testDevices kGADSimulatorID XXXX2F32d69CCA859FFB559D0FEA3CF6483D08A6 adView load r
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • 在现有 iOS 应用程序中集成 React-native(0.40.0) 后找不到 Yoga/Yoga.h 头文件

    在我的 Swift iOS 应用程序中集成 React Native 后 我无法构建 yoga Yoga h file cannot be found 我已经浏览了文档 查看了react native github页面 检查了类似问题的SO
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController

随机推荐

  • 从 RStudio EC2 实例中的 S3 读取大型 JSON 文件(Louis Aslett 的 AMI)

    我正在经历与这个问题类似的问题here 我在 AWS S3 上有一个大的 JSON 文件 并尝试通过 RStudio 来自 Louis Aslett 的 AMI 的 EC2 实例 访问它 我什至尝试从 t2 迁移到具有 30GB 内存的 r
  • 使用 CSS 变换倾斜后应用于位置 div 的边距

    可能比 CSS 更多的数学知识 但我正在尝试确定一种在应用 CSS skewY 变换后调整 div 位置的方法 在下面的代码片段中 带有蓝色边框的 div 应用了 3 5 度的倾斜度 我想知道是否有数学方法可以知道倾斜度是多少top应用于蓝
  • 序列化多部分表单请求以在 Play 2.1 上进行测试

    我正在为 play2 1 编写一个使用路由函数的多部分表单的后置控制器测试 route FakeRequest POST postControllerRoute url FakeHeaders Seq HeaderNames CONTENT
  • Powershell 中的 New-Object -ComObject 和 VB 中的 CreateObject() 有什么区别?

    我有一个关于 Windows PowerShell 在处理 Com Interop 时如何工作的问题 我有一个第三方应用程序 我们称之为ThirdPartyApp 公开了一个我可以调用的 API 我可以提前绑定它 例如Excel 或 Vis
  • Bokeh 自动填充日期时间轴缺失值:如何停止?

    我正在尝试构建一个交互式情节pandas dataframe的财务数据 当市场休市或周末时 数据帧指数存在一些差距 问题是 当我使用数据帧索引作为 xasis 时 Bokeh 总是自动填充这些空白 使其在视觉上很难看 如何才能无间隙地打印数
  • 在 Fortran 牛顿法中传递附加参数

    我在实现在 Fortran 程序中调用牛顿法的方法时遇到问题 所以我想用牛顿法来求解以下方程the link 但是 我的程序与上面的示例略有不同 就我而言 方程需要一些在运行时产生的附加信息 subroutine solve f fp x0
  • 如果工作表编号/名称是变量/变体,则引用公式中的下一个或上一个工作表

    如果工作表编号 名称是变量 变体 如何引用公式中的下一个或上一个工作表 我已经看到用 vba 来做到这一点的方法 有没有办法用公式或函数来做到这一点 这是使用常规 Excel 公式列出所有工作表名称的另一种方法 Cell A1 CELL f
  • 非等待异步方法在 UI 线程上运行?

    我想要一个方法 我们称之为M1 执行一些async循环中的代码 让我们调用第二个方法M2 在每次迭代中 UI 应使用以下结果进行更新M2 为了等待M2 M1需要是async But M1应该在 UI 线程上运行 以避免竞争条件 因此它将在没
  • Python 将字符串转换为浮点型

    我有一个看起来像这样的字符串 a 92 345 r n r n a strip 当我尝试使用将其转换为浮点数时np float a 要不就float a I get Value error could not convert string
  • 使用 lapply 进行多元回归并更改公式,而不是数据集

    我见过一个列表应用 lapply 的例子 它可以很好地获取数据对象列表 并返回回归输出列表 我们可以将其传递给 Stargazer 以获得格式良好的输出 将 stargazer 与通过在分割 data frame 上进行 lapply in
  • 带 preg_match 的 PHP switch 语句

    我在 switch 语句中创建 preg match 时遇到一些问题 我想编写与 oop page view some number 匹配的 preg match 目前它的工作原理如下 如果我在浏览器中运行http example com
  • JQuery Mobile 文件上传[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我一直在到处寻找 但找不到任何例子 有谁知道我在哪里可以找到有关使用 JQuery Mo
  • 将 Firestore 依赖项和类型导入到 node.js

    在今年的 FirebaseSummit 演讲之后 我最近将我的云函数更新为 TypeScript 我的所有代码看起来都很酷 但我在尝试恢复 Firestore API 的类型时遇到一些问题 例如QuerySnapshot DocumentR
  • CSS 加载时背​​景颜色过渡/滑过

    我发现一个 CSS 过渡在悬停时效果很好 它会将我的背景颜色滑过 但仅限于悬停时 CSS 有没有办法让这种情况在加载而不是悬停时发生 color FF0000 display inline block background color ff
  • 获取对象数组中相同值的计数

    假设我有一个对象数组 const apple bookName Harry Pottar part 1 bookName Harry Pottar part 2 bookName LOTR part 1 bookName LOTR part
  • Google Apps 脚本 e.namedValues 格式多项选择

    我有一个简单的脚本 用于通过电子邮件发送 Google 云端硬盘表单提交的结果 表格中的问题之一有多项选择复选框 我正在使用 e namedValues 来获取答案数组 以便我可以通过电子邮件发送给他们 如下所示 var multiple
  • 如何使用 Objective-C 在音频文件上添加回声效果

    我正在开发一个应用程序 我想在其中使用 Objective c 在录制的音频文件中添加回声效果 我正在使用 DIRAC 添加其他效果 例如男人对女人 慢 快 现在我必须用录制的声音制作机器人声音 对于机器人语音我需要添加回声效果 请帮我做到
  • 悬停时切换 div

    我有一个测试 UL 列表 如下所示 ul li First div li li Second div li li Third div li ul 并且 下面我有相关的 div 又名 div Content Here div div Cont
  • 在 Linux 上的 QFileDialog 中过滤可执行文件

    我正在尝试制作一个文件选择器来选择一个程序 可执行文件 我对 QDir 和 QFileDialog 文档的理解是 以下内容应该显示一个仅包含可执行文件的文件对话框 但是 即使目录中有可执行文件 它也根本不显示任何文件 也没有目录 self
  • 取消 Swift 中的定时事件?

    我想在事件发生后 10 秒内运行一段代码 但我希望能够取消它 这样如果在这 10 秒之前发生某些事情 代码将不会在 10 秒过去后运行 我一直在使用这个 但它是不可取消的 static func delay delay Double clo