将CGFloat乘
我必须将我的int包装在 CGFloat()
中才能在swift 2.3
如果我只是做了* 2
,则会编译。为什么会发生这种情况?这是否固定在Swift 3?
var multiplier = CGFloat(3)
let y = collectionView.frame.origin.y + (cellSize() * multiplier)
Swift不直接支持混合类型算术。检查Swift中2
的类型是什么,这可能不是您假设的。您对CGFloat()
的使用正在转换值,因此*
的操作数具有相同的类型。
hth
类型推理。当您写出 * 2时,没有明确声明它,int Swift将其侵入为cgfloat。但是,当您已经声明它为int时,您不能用int。