Swift 找不到';初始';它接受提供的参数
这两行代码给了我 找不到接受提供的参数的“init”的重载 错误:Swift 找不到';初始';它接受提供的参数,swift,Swift,这两行代码给了我 找不到接受提供的参数的“init”的重载 错误: var w = Int(self.bounds.size.width / Float(worldSize.width)) var h = Int(self.bounds.size.height / Float(worldSize.height)) 错误消息具有误导性。这应该起作用: var w = Int(self.bounds.size.width / CGFloat(worldSize.width)) var h = In
var w = Int(self.bounds.size.width / Float(worldSize.width))
var h = Int(self.bounds.size.height / Float(worldSize.height))
错误消息具有误导性。这应该起作用:
var w = Int(self.bounds.size.width / CGFloat(worldSize.width))
var h = Int(self.bounds.size.height / CGFloat(worldSize.height))
CGSize
的width
和height
元素声明为CGFloat
。
在64位平台上,CGFloat
与Double
相同,具有64位,
而Float
只有32位
所以问题是除法运算符,
它需要两个相同类型的操作数。与(Objective-)C不同,Swift从不隐式地将值转换为
不同类型
如果worldSize
也是CGSize
,则您根本不需要演员阵容:
var w = Int(self.bounds.size.width / worldSize.width)
var h = Int(self.bounds.size.height / worldSize.height)
错误消息具有误导性。这应该起作用:
var w = Int(self.bounds.size.width / CGFloat(worldSize.width))
var h = Int(self.bounds.size.height / CGFloat(worldSize.height))
CGSize
的width
和height
元素声明为CGFloat
。
在64位平台上,CGFloat
与Double
相同,具有64位,
而Float
只有32位
所以问题是除法运算符,
它需要两个相同类型的操作数。与(Objective-)C不同,Swift从不隐式地将值转换为
不同类型
如果worldSize
也是CGSize
,则您根本不需要演员阵容:
var w = Int(self.bounds.size.width / worldSize.width)
var h = Int(self.bounds.size.height / worldSize.height)
什么是
init
?什么是云?您能更具体一点吗?worldSize.width是什么类型?请尝试在单独的一行中创建代码中使用的浮点值,然后我们就可以知道是哪个操作导致了错误。什么是init
?什么是云?你能说得更具体一点吗?worldSize.width是什么类型的?试着在单独的一行中创建你在代码中使用的浮点,然后我们就可以知道是哪个操作导致了错误。