我正在尝试创建一个for循环,但似乎无法理解如何摆脱此错误
我的代码:
for i:CGFloat in 0 ..< 2 + self.frame.size.width / (movingGroundTexture.size().width) {
let sprite = SKSpriteNode(texture: movingGroundTexture)
sprite.zPosition = 0
sprite.anchorPoint = CGPointMake(0, 0)
sprite.position = CGPointMake(i * sprite.size.width, 0)
addChild(sprite)
}
错误for
在线上self.frame.size.width
和(movingGroundTexture.aize().width)
您不能使用浮点类型创建一个CountableRange
(或CountableClosedRange
)。
您要么要将其转换2 + self.frame.size.width / movingGroundTexture.size().width
为Int
:
for i in 0 ..< Int(2 + self.frame.size.width / movingGroundTexture.size().width) {
// i is an Int
}
或者您想使用stride
(Swift 2语法):
for i in CGFloat(0).stride(to: 2 + self.frame.size.width / movingGroundTexture.size().width, by: 1) {
// i is a CGFloat
}
Swift 3语法:
for i in stride(from: 0, to: 2 + self.frame.size.width / movingGroundTexture.size().width, by: 1) {
// i is a CGFloat
}
取决于是否需要浮点精度。请注意,如果您的上限是一个非整数值,则该stride
版本将比范围运算符版本多迭代一次,这是因为Int(...)
它将忽略小数部分。
我正在尝试构建一个简单的Swift应用程序来计算增值税(增值税=20%)。 因为某种原因我一直 二进制运算符*不能应用于Int和Double类型的操作数 在线上
问题内容: 我是新手,已经尝试了两个小时了。在我的代码下面: 错误说: 在哪里: 如果我使用错误消失了,但我的if条件始终为true。如何获得此修复程序?我已经读过了,但与我的案例(和)并不相同。 任何答案和建议都对我有帮助。提前致谢 问题答案: 您可以使用Optional Binding 解开Optional变量。
我在练习一些代码,遇到了一些问题。 这是密码 所有的代码都很好,打印得很好,但是最后一行带来了一个问题。 我以为是macFood。水果是数组。 因为macFood。水果=[水果(名称:“苹果”,容量:1),水果(名称:“香蕉”,容量:2)]工作。 所以我想我可以使用'='运算符添加另一个元素。 但它在最后一行崩溃了,macFood。水果=[水果(名称:“葡萄”,容量:3)] 错误消息为 “二进制运
问题内容: 在Swift 4中,我试图将UITextField的文本长度与最小长度进行比较: 但是我得到了错误 具有讽刺意味的是它与 有人可以帮我吗? 问题答案: 原因是可以使用可选选项,而不能使用。您必须打开可选的包装。 合适且安全的解决方案是可选地绑定属性:
二进制运算符' (字符串?)是什么类型?
我试图通过UISearchBar在UITableView上搜索用户。问题是,当我尝试时,错误不断出现。 这是我的代码: 我正在尝试通过Firebase fetch在我的应用程序中搜索用户。我已经将用户带到了UITableView上,问题是我无法搜索特定的用户。请帮忙!我什么都试过了。