当前位置: 首页 > 面试题库 >

延迟使用DispatchTime.now()+ float?

别永年
2023-03-14
问题内容

到底发生了什么 DispatchTime.now()

为什么我不能分配时间作为变量?

以及如何使用变量?

给定错误>>>

二进制运算符’+’不能应用于’DispatchTime’和’Float’类型的操作数

var time : Float = 2.2 // <---time

@IBAction func buttonPressed(_ sender: Any) {

    let when = DispatchTime.now() + 2.2 // <---- THIS IS OKAY
    DispatchQueue.main.asyncAfter(deadline: when){

        print("Hello")
    }

    let whenWhen = DispatchTime.now() + time // <---- THIS IS NOT OKAY
    DispatchQueue.main.asyncAfter(deadline: whenWhen){

        print("Hello")
    }
}

问题答案:

DispatchTime.now()是一双。您不能将float和double值加在一起。

更换

var time: Float = 2.2

var time: Double = 2.2

它将正常工作。



 类似资料:
  • 问题内容: jQuery 1.5带来了新的Deferred对象和附加的方法,以及。 对于那些以前从未使用过的用户,我已经为其添加了注释。 这些新方法的可能用途是什么,我们如何将它们适应模式? 我已经阅读了API和[源代码,所以我知道它的作用。我的问题是我们如何在日常代码中使用这些新功能? 我有一个缓冲区类的简单示例,该类按顺序调用AJAX请求。(上一个完成后,下一个开始)。 我在寻找示威和可能的用

  • 问题内容: 让我们说我有以下代码: 我使用此函数打开文件,然后从执行其他活动的另一个函数调用该函数。 我的问题是,既然我已经打开文件,如何关闭它。如果要在里面添加文件,在返回之前是否会关闭文件?在调用函数中使用defer是否有意义? 问题答案: 如果函数的目的是返回文件,为什么要在返回文件的函数中将其关闭? 在这种情况下, 调用者 有责任正确关闭文件,最好使用: 尽管您的函数吞没了错误,但是您应该

  • 问题内容: 我正在尝试使用新的React Lazy和Suspense创建后备加载组件。这很好用,但后备时间仅显示几毫秒。有没有办法增加额外的延迟或最短时间,因此我可以在渲染下一个组件之前显示该组件的动画? 现在懒导入 等待组件: 我可以做这样的事情吗? 问题答案: 函数应该返回对象的承诺,该对象由具有默认导出功能的模块返回。不会返回承诺,也不能那样使用。尽管任意承诺可以: 如果目标是提供 最小的

  • 问题内容: 我正在使用该工具观察Redis服务器的延迟。这是一个例子: 问题是,这些值实际上意味着什么?我正在努力寻找有关此工具的文档,而该文档无法通过该工具自己的帮助文档获得。 问题答案: 该命令是一个工具,可以帮助您解决和了解Redis可能遇到的延迟问题。通过测量Redis服务器响应Redis PING命令的时间(以毫秒为单位)来实现。 在这种情况下,延迟是客户端发出命令的时间与客户端收到对命

  • 我正在尝试在JavaFX中编写某种第一人称视角3D游戏,到目前为止,该运动效果非常好。 我使用JavaFX的内置shape和PerspectiveCamera类将图像渲染到场景中。 但是对于所有关键事件,输入延迟约为1-2秒。 滞后仅出现在: > 一旦程序切换到全屏(即使切换回窗口,它们仍然存在,但当程序刚刚启动时,它们仍然存在) 并且在按下/释放按钮之前不久使用鼠标旋转相机 例如:我按W前进,同

  • 延迟调用一个函数,直到当前调用堆栈已经清除。 使用 setTimeout() ,超时时间为1ms,将新事件添加到浏览器事件队列,并允许渲染引擎完成其工作。使用展开 (...) 运算符为函数提供任意数量的参数。 const defer = (fn, ...args) => setTimeout(fn, 1, ...args); // Example A: defer(console.log, 'a