gpt4 book ai didi

swift - 表达式类型 '(_, _.Stride) -> _' 在没有更多上下文的情况下不明确

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:57 25 4
gpt4 key购买 nike

帮助!我遇到错误“表达式类型‘(_, _.Stride) -> _’在没有更多上下文的情况下不明确”。有谁知道为什么会这样并且对此有解决方案?我正在使用 Swift 4。
代码:

let offsetTime = 0
DispatchQueue.main.asyncAfter(deadline: .now() + offsetTime) { //Expression type '(_, _.Stride) -> _' is ambiguous without more context
self.currentTaskForUser.text = "Starting\n" + note + "in"
self.timerDown(from: 3, to: 1)
}
DispatchQueue.main.asyncAfter(deadline: .now() + offsetTime + 3) { //Expression type '(_, _.Stride) -> _' is ambiguous without more context
self.currentTaskForUser.text = note
let difficultyValue = Int(self.difficultyControl.titleForSegment(at: self.difficultyLevel.selectedSegmentIndex)!)!
self.timerUp(from: 1, to: difficultyValue)
self.offsetTime += 13
}

最佳答案

表达式 .now() 返回类型 DispatchTime,它是一个结构。

let offsetTime = 0 将变量初始化为 Int。该错误具有误导性,实际上是类型不匹配


虽然编译器可以推断出数字字面量的类型

DispatchQueue.main.asyncAfter(deadline: .now() + 3)

Int 文字或变量添加到 DispatchTime 值的最可靠方法是使用具有关联值的 DispatchTimeInterval 情况。

DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(offsetTime)

DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(offsetTime) + .seconds(3))

有四种DispatchTimeInterval枚举情况

  • .seconds(Int)
  • .milliseconds(Int)
  • .microseconds(Int)
  • .nanoseconds(Int)

关于swift - 表达式类型 '(_, _.Stride) -> _' 在没有更多上下文的情况下不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44547719/

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