【问题标题】:Swift binary operator in while statementwhile语句中的Swift二元运算符
【发布时间】:2015-04-18 04:32:58
【问题描述】:

Swift 新手,小障碍。这段代码

let viewH = self.view.frame.size.width
let boxH = viewH/60
var curY = 0

while curY<=viewH-boxH {
    //do something
}

抛出错误“二进制运算符

【问题讨论】:

    标签: swift


    【解决方案1】:

    小障碍,小修复。您的问题是 curYInt 而右边的减法结果是 CGFloatwidth 正在返回您)。所以您需要做的就是将curY 也转换为CGFloat

    var curY = 0 as CGFloat
    

    或者:

    var curY: CGFloat = 0
    

    【讨论】:

    • 确实很小。谢谢。
    • @Firo 当我这次使用你的解决方案时,我得到了这样的警告:“从 Int 不相关类型 CGFloat 投射总是失败”,有什么想法吗?
    • 哪个解决方案和哪个版本的 Swift? (你可以试试var curY = CGFloat(0)
    猜你喜欢
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2013-12-28
    • 1970-01-01
    • 2016-04-25
    相关资源
    最近更新 更多