Ios Swift 3错误:“二进制运算符“/”不能应用于两个“int”操作数”

Ios Swift 3错误:“二进制运算符“/”不能应用于两个“int”操作数”,ios,swift,swift3,Ios,Swift,Swift3,我知道有一个标题相同的问题,但我认为这是一个不同的问题,因为我无法用提供的解决方案来解决它。有关的问题是:。我还看了一个应该是原版的问题 但我在UIColor函数中使用变量时出现了这个错误: 工作 不起作用 所以我无法理解我的错误为什么会发生。它向我抛出以下错误: 二进制运算符“/”不能应用于两个“int”操作数 我认为它是一样的,因为在这两种情况下都是相同的值,但我得到的是错误。我认为在第一个例子中还有两个int值,它不会抛出那个错误 如何在函数中使用变量 提前谢谢 UIColor构造函数接受

我知道有一个标题相同的问题,但我认为这是一个不同的问题,因为我无法用提供的解决方案来解决它。有关的问题是:。我还看了一个应该是原版的问题

但我在UIColor函数中使用变量时出现了这个错误:

工作

不起作用

所以我无法理解我的错误为什么会发生。它向我抛出以下错误:

二进制运算符“/”不能应用于两个“int”操作数

我认为它是一样的,因为在这两种情况下都是相同的值,但我得到的是错误。我认为在第一个例子中还有两个int值,它不会抛出那个错误

如何在函数中使用变量

提前谢谢

UIColor构造函数接受四个CGFloat参数

UIColor(red: 74/255, green: 24/255, blue: 141/255, alpha: 1)
编译,因为CGFloat符合ExpressibleByIntegerLiteral 协议从编译器试图创建的上下文 74/255 a CGFloat,并将所有数字解释为CGFloat 文字,和/或作为CGFloat除法运算符

这对我来说是行不通的

var colorRGB = 74
UIColor(red: colorRGB/255, green: 24/255, blue: 141/255, alpha: 1)
74文本没有上下文,因此采用 默认情况下作为Int。但是没有 合适的除法运算符使colorRGB/255成为CGFloat

必须使用正确的类型显式定义变量:

var colorRGB: CGFloat = 74
UIColor(red: colorRGB/255, green: 24/255, blue: 141/255, alpha: 1)
备注:这还将汇编:

var colorRGB = 74
UIColor(red: CGFloat(colorRGB/255), green: 24/255, blue: 141/255, alpha: 1)
但随后colorRGB/255变成整数除法并进行计算
要设置为零,请进行比较。

colorRGB必须为CGFloat类型var colorRGB:CGFloat=74Wow!很好的解释!非常感谢你!我会尽快接受答案,至少需要10分钟
var colorRGB: CGFloat = 74
UIColor(red: colorRGB/255, green: 24/255, blue: 141/255, alpha: 1)
var colorRGB = 74
UIColor(red: CGFloat(colorRGB/255), green: 24/255, blue: 141/255, alpha: 1)