在Swift中通过IF语句设置变量值

时间:2018-12-03 21:13:39

标签: swift

我是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
}

但是,这将返回许多错误。在这里使用正确的条件语句是什么?

谢谢

3 个答案:

答案 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
}