Ios 如何在swift中创建数字范围
我正在创建一个iOS应用程序,我遇到了一个需要帮助克服的障碍。我的问题是,我的应用程序使用了一个计分计数器,我希望该应用程序能够为用户提供一定分数的奖牌。例如,如果用户得分为20,我希望应用程序给他们一枚铜牌,如果用户得分在21-49之间,他们将获得一枚银牌。我希望你能明白。我试过这个:Ios 如何在swift中创建数字范围,ios,numbers,range,Ios,Numbers,Range,我正在创建一个iOS应用程序,我遇到了一个需要帮助克服的障碍。我的问题是,我的应用程序使用了一个计分计数器,我希望该应用程序能够为用户提供一定分数的奖牌。例如,如果用户得分为20,我希望应用程序给他们一枚铜牌,如果用户得分在21-49之间,他们将获得一枚银牌。我希望你能明白。我试过这个: if String(score) > 55{ medal = SKSpriteNode(imageNamed:"medalG") } var x = 20 var
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")
}
如果字符串(分数)>55{
奖牌=SKSpriteNode(图像名称:“medalG”)
}
变量x=20
变量y=50
如果(字符串(分数)=x…y){
奖牌=SKSpriteNode(图像名称:“奖牌”)
}
如果String(score)<20{//这一行总是给我带来问题
奖牌=SKSpriteNode(图像名称:“medalB”)
}
我试着用这个替换第二个“如果”行
if (String(score) = x..<y){ }
if(String(score)=x..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来匹配要切换的表达式的每个可能值。这就是我在上面添加默认值的原因。您可以使用“pattern match”操作符~=:
if 20 ... 50 ~= String(score) {
println("success")
}
或具有表达式模式(内部使用模式匹配运算符)的switch语句:
需要更多帮助
if 20 ... 50 ~= String(score) {
println("success")
}
switch String(score) {
case 20 ... 50:
println("success")
default:
println("failure")
}