iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了xcode – 二进制运算符’.. <'不能应用于'Int'和'CGFloat'类型的操作数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试创建一个for循环,但似乎无法理解如何摆脱这个错误 我的代码: for i:CGFloat in 0 ..< 2 + self.frame.size.width / (movingGroundTexture.size().width) { let sprite = SKSpriteNode(texture: movingGroundTexturE) sp
我正在尝试创建一个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)
    }

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(…)将忽略小数组件.

大佬总结

以上是大佬教程为你收集整理的xcode – 二进制运算符’.. <'不能应用于'Int'和'CGFloat'类型的操作数全部内容,希望文章能够帮你解决xcode – 二进制运算符’.. <'不能应用于'Int'和'CGFloat'类型的操作数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。