while语句中的Swift二进制运算符

while语句中的Swift二进制运算符,swift,Swift,新的快速,小跨栏。此代码 let viewH = self.view.frame.size.width let boxH = viewH/60 var curY = 0 while curY<=viewH-boxH { //do something } 让viewH=self.view.frame.size.width 设boxH=viewH/60 变量curY=0 而curY小跨栏,小固定。您的问题是curY是Int,右侧的减法结果是CGFloat(返回的是width)。因此

新的快速,小跨栏。此代码

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

while curY<=viewH-boxH {
    //do something
}
让viewH=self.view.frame.size.width
设boxH=viewH/60
变量curY=0

而curY小跨栏,小固定。您的问题是
curY
Int
,右侧的减法结果是
CGFloat
(返回的是
width
)。因此,您需要做的就是将
curY
转换为
CGFloat

var curY = 0 as CGFloat
或者:

var curY: CGFloat = 0

的确很小。谢谢。@Firo当我这次使用你的解决方案时,我得到了这样一句话:“从Int无关类型CGFloat进行强制转换总是失败”,你知道吗?哪种解决方案,哪种版本的Swift?(您可以尝试
var curY=CGFloat(0)