gpt4 book ai didi

swift - 二元运算符 '<' 不能应用于类型 'Double' 和 'CGFloat' 的操作数

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:11 25 4
gpt4 key购买 nike

这段代码没有语法错误。

for (var m = 1.0; m < 3.0; m += 0.1) {
}

另一方面,下面的代码有一个语法错误。错误消息:二元运算符“<”不能应用于“Double”和“CGFloat”类型的操作数

let image = UIImage(named: "myImage")
for (var n = 1.0; n < image!.size.height; n += 0.1) {
}

为什么会这样?我尝试使用 if let 而不是 force unwrap,但我遇到了同样的错误。

环境:Xcode7.0.1 swift 2

最佳答案

因为 image!.size.height 返回 CGFloat 任何类型的 n 都是 Double 所以你需要以这种方式将 CGFloat 转换为 Double Double(image!.size.height)

你的代码将是:

let image = UIImage(named: "myImage")

for (var n = 1.0; n < Double(image!.size.height); n += 0.1) {

}

或者您可以通过这种方式将类型分配给 n 作为 CGFloat:

for (var n : CGFloat = 1.0; n < image!.size.height; n += 0.1) {

}

关于swift - 二元运算符 '<' 不能应用于类型 'Double' 和 'CGFloat' 的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32920992/

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