DispatchTime.now()人到底怎么了

为什么我不能把等待时间作为变量来分配?

我怎么能使用变量呢?

Given error >>>

二进制运算符"+"不能应用于类型为的操作数

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()是双人房.不能同时添加浮点值和双精度值.(关于为什么不能添加不同类型的值,可以在here中找到一个小解释).

代替

var time: Float = 2.2

具有

var time: Double = 2.2

它会很好地工作.

Swift相关问答推荐

在Swift中initt()完成后运行一个函数

Swift 5.10:无法从非隔离的deinit访问属性*,这是Swift 6中的错误''''

可以将属性名称传递给 Swift 中的函数吗?

@Binding 在@StateObject 和 View 上被发布了两次?

String(validatingUTF8:) 和 String(utf8String:) 之间有区别吗?

如何自己实现同一个 iOS 16 锁屏圆形小部件?

MacOS KIND 是如何实现的

使用泛型的 Swift 枚举值

将基于MyProtocol的泛型函数的参数更改为使用存在的any MyProtocol或some MyProtocol是否会受到惩罚?

在 Swift 5.5 中编写同步和异步函数

如何以快速 Select 器菜单样式调整图像大小

swift中的SequenceType和CollectionType有什么区别?

Swift 2 中的新 @convention(c):我该如何使用它?

获取设备图像比例(例如@1x、@2x 和@3x)

Swift 自定义字体 Xcode

在 Swift 中将计时器标签格式化为小时:分钟:秒

无法停止 AVPlayer

URLComponents.url 为零

Void 函数中意外的非 Void 返回值 (Swift 2.0)

如何快速从另一个视图控制器重新加载表格视图