- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Swift 的早期版本中,此代码可以完美运行。
DispatchQueue.main.asyncAfter(deadline: .now() + delay) { timer in
self.setOriginalState()
self.shakeAnimation()
}
但是在Swift 4中出现如下错误:
Ambiguous reference to member 'asyncAfter(deadline:qos:flags:execute:)'
如何在 Swift 4 中运行一系列代码之前创建延迟?
最佳答案
在 playground 中尝试它没有任何问题,只是“缺少”是“计时器”引用。
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
print("Dispatching after")
}
DispatchQueue.main.asyncAfter(deadline: .now() + 3, qos: .userInteractive, flags: []) {
print("Dispatching after")
}
它们似乎都有效,您确定问题不在其他地方吗?
关于swift - 如何在 Swift 4 中编写 GCD asyncAfter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46378237/
我正在尝试为 TextView 制作动画,让字符串字符一个接一个地出现,然后在 0.5 秒延迟后从第一个字符开始一个接一个地消失。 我很接近,我遇到的唯一问题是第一个字符会立即被删除,所以就好像它从未
我正在尝试运行一个简单的 iOS 应用程序,该应用程序会在指定时间后将通知推送到用户屏幕。 到目前为止,这是我所拥有的(从另一个线程借来的): DispatchQueue.global(qos: .b
在我的 iPad 应用程序中,我试图让 tableView 以预定的间隔滚动。为此,我创建了一段代码,为每个滚动创建一个闭包。然而,关闭的执行时间比我想要的时间晚了几秒钟。这是一个简化的 Playgr
最终,我很快就在 swift 中使用了 asyncAfter 特性,它确实有一些延迟,而且看起来与普通代码不同。 异步代码: DispatchQueue.main.asyncAfter(deadlin
我正在开发一个应用程序,其中我尝试调试的 403 禁止错误实际上是由您每分钟可以向端点发出的请求数量的上限引起的(愚蠢的我)。 很好,我决定将我的网络请求放到 DispatchQueue 上(无论如何
我想知道 DispatchQueue.asyncAfter(deadline:execute:) 在进入后台时的行为。我试图在 documentation 中找到更多信息,但那里什么也没有。 让我们假
我试图在延迟后调用一个函数。在 iOS10 上,我可以使用 Timer.scheduledTimer,它确实会在给定延迟后调用我的闭包。但是,在 iOS9 上,我使用的是 DispatchQueue.
所以我有一个带有单选按钮的应用程序来检查任务,只要我让动画完成,一切都会按预期工作,但如果我同时按下两个按钮,我会收到错误: libc++abi.dylib: terminating with unc
在我的游戏中, meteor 从天而降。 spawnMeteorite 函数在游戏开始时被调用,并在满足延迟后调用自身,此时陨石之间的新延迟比以前略短。 func spawnMeteorite(tim
这个问题在这里已经有了答案: How do I run Asynchronous callbacks in Playground (8 个答案) 关闭 4 年前。 我在 Playground 中运行
我有一个调度异步,我希望屏幕上弹出 4 个警报......然后在显示新警报之前每个警报都被关闭。 (我在我的警报之间设置了 3 秒的延迟) class ViewController: UIViewCo
我在修改对象的属性后调用 DispatchQueue.main.asyncAfter 方法(我用 KVO 触发它)。我只显示一秒钟的确认 View ,然后运行一个在 UI 上做其他事情的 block
我提出了以下结构,作为在网络连接速度较慢时提醒用户的一种方式。 当函数要调用服务器时,它会创建一个 ResponseTimer。这会设置延迟通知,仅当 responseTimer var isOn =
我正在使用 AVAudioPlayer 播放唱片。在每个回放 session 之间我有 0 到 10 秒的间隔。为了制作这个间隔,我正在使用 AVAudioPlayerDelegate 并且播放完成后
我很难理解 DispatchSourceTimer 之间的主要区别, Timer和 asyncAfter (在我的例子中,调度一个需要每 X 秒运行一次的任务,尽管了解定时器的差异可能对有用)(或者除
在 Swift 的早期版本中,此代码可以完美运行。 DispatchQueue.main.asyncAfter(deadline: .now() + delay) { timer in sel
我想在调用 deinit 时退出“DispatchQueue.main.asyncAfter”。 subView.swift DispatchQueue.main.asyncAfter(deadlin
这个问题在这里已经有了答案: Cancel a timed event in Swift? (7 个答案) 关闭 5 年前。 描述: 我目前正在使用以下代码来查看用户是否已停止在搜索栏中键入内容。每
这个问题已经有答案了: How to prevent a Command Line Tool from exiting before asynchronous operation completes
下面的延迟代码在 iOS 14.0 以下运行良好,但在 iOS 14.0 模拟器中,它每 2 秒重复调用一次。有什么我错过的吗? DispatchQueue.main.asyncAfter(dea
我是一名优秀的程序员,十分优秀!