Swift 是否可以缩短DispatchQueue中的延迟?

Swift 是否可以缩短DispatchQueue中的延迟?,swift,xcode,Swift,Xcode,我正在用Swift开发一个函数,它从字典中将字符串转换成振动,每个字母在下一个字母被翻译之前都有一个短暂的延迟。 以下是我所拥有的: let Bz1 = CHHapticEvent(eventType: .hapticContinuous, parameters: [], relativeTime: 0.0, duration: 0.1) let Bz2 = CHHapticEvent(eventType: .hapticContinuous, parameters: [], relative

我正在用Swift开发一个函数,它从字典中将字符串转换成振动,每个字母在下一个字母被翻译之前都有一个短暂的延迟。 以下是我所拥有的:

let Bz1 = CHHapticEvent(eventType: .hapticContinuous, parameters: [], relativeTime: 0.0, duration: 0.1)

let Bz2 = CHHapticEvent(eventType: .hapticContinuous, parameters: [], relativeTime: 0.3, duration: 0.1)

 let dictionary = [
            "A" : [Bz1],
            "T" : [Bz2],
]
 let message = textLabel.text

 let letterArray = message!.map { String($0) }

 for (index, singleWord) in letterArray.enumerated() {
            DispatchQueue.main.asyncAfter(deadline: .now() + Double(index * 1)) {

我现在所做的是在字母的振动之间产生大约1秒的延迟。但是,我发现DispatchQueue延迟太长。我试着在最后期限内改变操作和数字,但似乎没有什么能缩短它。有没有办法缩短这个时间?

@guyWithWift-为什么你不能试试毫秒

DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(400), execute: {
    })

同时提前配置一大堆延迟是一个非常糟糕的主意。最好嵌套或递归,在前一个延迟触发时启动每个延迟。但是,为什么不运行重复计时器,而不是
asyncAfter
?每次定时器启动时,您都会进行序列中的下一次振动。