ios - 使用带有浮点值的 dispatch_time

标签 ios objective-c floating-point delay grand-central-dispatch

我有一个简单的 iOS 应用程序,它需要延迟某个代码块才能运行。

我正在使用 dispatch_time 方法来实现这一点,并且效果很好。只是一个问题,dispatch_time 是一个整数,因此您可以设置的时间只能是整数,例如 1.0 秒或 3.0 秒等......

我想将其设置为延迟 0.5 秒。我怎样才能做到这一点?下面是我的代码:

    int64_t time_delay = 1.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, time_delay * NSEC_PER_SEC);

    dispatch_after(popTime, dispatch_get_main_queue(), ^(void) {
        /*
           my block of code....
        */
    });

最佳答案

不要使用 int64_t但是一个 CGFloat .它会正常工作。

CGFloat time_delay = 0.5f;

关于ios - 使用带有浮点值的 dispatch_time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29716506/

相关文章:

ios - swift 3 : Stretchy UITableView footer

cocoa-touch - 间接使用 NSManagedObject 时发送到已释放实例的消息

python - python中list-to-numpy-to-list后的异常小数位

c - 浮点精度的细微差别

Java断言双包含序列

ios - 使用 iboutlet tableview Swift 子类化

ios - 使用 constraintEqualToAnchor() 时如何在设置自动布局约束后更改它们?

objective-c - 下拉类型的 NSPopUpButton,当我点击某些菜单项时,弹出窗口的标题没有改变

ios - 使用 iOS SDK 从 Google Drive 下载文件

ios - 如何关闭多个 ViewController 而不是初始 ViewController