作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个 iOS 应用程序,但遇到了一个障碍,需要帮助来克服。我的问题是我的应用程序使用了一个计分器,我希望该应用程序为用户提供特定分数的特定奖牌。例如,如果用户得分为 20,我希望应用程序给他们一枚铜牌,如果用户得分介于 21-49 之间,他们将获得银牌。我希望你明白了。我试过这个:
if String(score) > 55{
medal = SKSpriteNode(imageNamed:"medalG")
}
var x = 20
var y = 50
if (String(score) = x...y){
medal = SKSpriteNode(imageNamed:"medalS")
}
if String(score) < 20{ //this line always gives me issues
medal = SKSpriteNode(imageNamed:"medalB")
}
我试过用这个替换第二个'if'行
if (String(score) = x..<y){ }
但这也给我带来了问题
我也试过...
if String(score)<50 && String(score)>20{ }
但这也带来了问题,请有人帮忙
最佳答案
Range 有一个方法 contains
,您可以使用它来检查特定值是否位于范围的端点之间。但是您最好还是使用 switch
语句——它的间隔匹配基本上是为这种情况设计的。
您可以执行以下操作:
// assume score is an Int defined above
switch score {
case 0...20:
medal = SKSpriteNode(imageNamed: "medalB")
case 21...49:
medal = SKSpriteNode(imageNamed: "medalS")
case 50...60:
medal = SKSpriteNode(imageNamed: "medalG")
default:
print("It is inconceivable that you are this good.")
}
请记住,switch 语句必须详尽,即必须有一个 case 来匹配您要切换的表达式的每个可能值。这就是我在上面添加默认值的原因。
关于ios - 如何在swift中创建数字范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497883/
我是一名优秀的程序员,十分优秀!