【问题标题】:How to convert ++ or -- in Swift 3? [duplicate]如何在 Swift 3 中转换 ++ 或 -- ? [复制]
【发布时间】:2017-02-02 19:28:44
【问题描述】:

我尝试将以下代码转换为 Swift 3 并收到此奇怪错误“无法将 Bool 类型的值转换为预期的参数类型 Int”。当我摆脱“++”时,问题就出现了。我还链接到我想完全转换的堆栈溢出问题。谢谢!这是之前的代码和我尝试转换的代码:

之前的代码

func previousTrack() {
if currentTrack-- < 0 {
    currentTrack = (playerItems.count - 1) < 0 ? 0 : (playerItems.count - 1)
} else {
    currentTrack--
}

playTrack()

}

转换后的代码

@IBAction func didTapPreviousButton(_ sender: UIButton) {
    if currentTrack += 1 < 0 {  // Issue occurs here
        currentTrack = (urlPlayerItems.count - 1) < 0 ? 0 : (urlPlayerItems.count - 1)
    } else {
        currentTrack -= 1
    }

    playTrack()

}

Original question I want to convert to Swift 3

编辑:

@IBAction func didTapPreviousButton(_ sender: UIButton) {
    if (currentTrack - 1) <= 0 {
        currentTrack = (urlPlayerItems.count - 1) < 0 ? 0 : (urlPlayerItems.count - 1)
    } else {
        currentTrack -= 1
    }

    playTrack()

}



@IBAction func didTapNextButton(_ sender: UIButton) {
    if (currentTrack + 1) >= urlPlayerItems.count {
        currentTrack = 0
    } else {
        currentTrack += 1
    }

    playTrack()
}

【问题讨论】:

  • 多花一行,比check
  • 这也是我的建议
  • 为什么要用+= 替换旧的--?为什么不-=
  • @LeoDabus - 这不是重复的。问题不是问如何替换++。问题是关于在if 语句比较中使用+=
  • @rmaddy 如果您愿意,请随时重新打开。 Hamish 还投票决定关闭它

标签: swift avfoundation


【解决方案1】:

你想要什么恕我直言

@IBAction func didTapPreviousButton(_ sender: UIButton) {
    currentTrack -= 1
    if currentTrack < 0 {
        currentTrack = (urlPlayerItems.count - 1) < 0 ? 0 : (urlPlayerItems.count - 1)
    }

    playTrack()
}

正确替换 POSTFIX(无用)

@IBAction func didTapPreviousButton(_ sender: UIButton) {
    if currentTrack < 0 {
        currentTrack -= 1
        currentTrack = (urlPlayerItems.count - 1) < 0 ? 0 : (urlPlayerItems.count - 1)
    }

    playTrack()
}

【讨论】:

  • 原代码使用后递减,所以if currentTrack &lt; 0没有先递减。
  • 恕我直言,这不是他想要的,但他没有看到。我编辑了我的答案
  • 请检查我的编辑版本!如果可能,添加示例代码向我展示我做错了什么。感谢您的帮助!
猜你喜欢
  • 2017-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多