我是Swift的新手。我正在使用以下方法生成一个随机数(0或1):
var locValueDeterminer = Int.random(in: 0...1)
基于此输出,我想适当地设置一个变量:
if locValueDeterminer = 0 {
var loc1Value : NSNumber = 0.5
var loc2Value : NSNumber = 1
}
else {
var loc1Value : NSNumber = 0.0
var loc2Value : NSNumber = 1
}
但是,这将返回许多错误。在这里使用正确的条件语句是什么?
谢谢
答案 0 :(得分:1)
如果您打算在Swift 4中生成一个真/假随机条件,则可以简单地使用Bool的random方法:
let loc1Value = Bool.random() ? 0.5 : 0
答案 1 :(得分:0)
您在if语句中编写的是==
,而不是=
,这是该代码的“更精简”版本
let locValueDeterminer = Int.random(in: 0...1)
let loc1Value = locValueDeterminer == 0 ? 0.5 : 0.0
let loc2Value = 1.0
问locValueDeterminer == 0 ? 0.5 : 0.0
是什么意思?-
相当于condition ? something : something else
所以在某种意义上,它可以转换为:
if locValueDeterminer == 0{
loc1Value = 0.5
}else{
loc1Value = 0.0
}
答案 2 :(得分:0)
三元组很好,但是可能并不总是您想要使用的。您可以声明一个没有值的let,然后在if / else块中分配它。
let loc1Value: Int
let loc2Value: Int
if Int.random(in: 0...1) == 0 {
loc1Value = 0.5
loc2Value = 0.0
} else {
loc1Value = 0.0
loc2Value = 0.0
}