这两行代码正在给我
无法找到' init'接受提供的参数
错误:
var w = Int(self.bounds.size.width / Float(worldSize.width))
var h = Int(self.bounds.size.height / Float(worldSize.height))
答案 0 :(得分:6)
错误消息具有误导性。这应该有效:
var w = Int(self.bounds.size.width / CGFloat(worldSize.width))
var h = Int(self.bounds.size.height / CGFloat(worldSize.height))
width
的{{1}}和height
元素被声明为CGSize
。
在64位平台上,CGFloat
与CGFloat
相同且具有64位,
而Double
只有32位。
所以问题是除法运算符, 这需要两个相同类型的操作数。与(Objective-)C相比,Swift从不隐式地将值转换为a 不同的类型。
如果Float
也是worldSize
,则您根本不需要演员:
CGSize