SWIFT(iOS)中“’CGFloat’无法转换为’Double’”错误

我试图在SWIFT中将图像切割成9个。 我得到这个错误“’CGFloat’不能转换为’Double’” 。 当我在两个变量中加上“i”或“j”时,我收到此错误。

以下是用于剪切图像的代码的一部分。

for i in 1...3 { for j in 1...3 { var intWidth = ( i * (sizeOfImage.width/3.0)) var fltHeight = ( j * (sizeOfImage.height/3.0)) var portion = CGRectMake(intWidth,fltHeight, sizeOfImage.width/3.0, sizeOfImage.height/3.0); . . "Code goes on" 

无法弄清楚问题是什么。 请帮忙。 提前致谢。

-Riyazul Aboobucker

在swift中,没有数值数据类型的隐式转换,而是混合整数和浮点数。 您必须将索引显式转换为CGFloat

 var intWidth = ( CGFloat(i) * (sizeOfImage.width/3.0)) var fltHeight = ( CGFloat(j) * (sizeOfImage.height/3.0)) 

正如经常在swift中发生的那样,错误信息具有误导性 – 它说:

‘CGFloat’不能转换为’Double’

而我期望:

‘CGFloat’不能转换为’Int’