gpt4 book ai didi

ios - 在 Swift 中使用 conds_t 的 NSNumber?

转载 作者:行者123 更新时间:2023-11-29 02:04:16 25 4
gpt4 key购买 nike

我有一个 increment: NSNumber 并且想要使用 usleep 函数。我试着像这样转换:

let value = increment.intValue
let sec:useconds_t = value as! useconds_t
usleep(sec)

错误是前一次转换总是失败。

编辑:想要翻译以下来自 here 的 Objective-C 代码:

- (void)progressTask:(NSNumber *)increment{

// get increment value
int _increment = [increment intValue];

float progress = 0.0f;
while (progress < 1.0f) {
progress += 0.01f;
self.progressIndicator.progress = progress;

// increment in microseconds (100000mms = 1s)
usleep(_increment);
}
}

如何从 NSNumber 获取 useconds_t

最佳答案

useconds_t 只是 UInt32 的类型别名,所以可以简单地做

let value = increment.unsignedIntValue // returns UInt32
usleep(value) // no conversion necessary

当然,你永远不应该在主 UI 线程上这样做。乃至在后台线程上通常有更好的解决方案(例如 GCD 方法)。

关于ios - 在 Swift 中使用 conds_t 的 NSNumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29973375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com