在Swift中出现条件的可能性:Xcode

时间:2015-06-14 22:35:03

标签: xcode swift if-statement conditional percentage

我对Xcode很新,如果这是一个糟糕的描述,那么很抱歉。有没有一种方法可以让您的条件发生,而不是在满足条件的情况下100%的时间发生,它只会在满足条件的50%时间内发生?例如,

if(x = 10){  只有50%的时间会发生某些事情,或者只有机会发生 }

非常感谢所有反馈!

2 个答案:

答案 0 :(得分:2)

您可以使用arc4random_uniform创建只读计算属性以生成随机数,并根据其结果返回布尔值。如果生成的数字等于1,则返回true,如果等于0,则返回false。结合if条件,只有当随机数等于1(真)时,才可以在括号内执行代码。

index - date ------ time ----- status
1       2015-01-01  13:00:00   start
2       2015-01-01  13:10:00   continue
3       2015-01-01  13:20:00   continue
4       2015-01-01  13:30:00   end
5       2015-01-01  13:30:00   ready
6       2015-01-01  13:40:00   start
7       2015-01-01  13:50:00   continue
8       2015-01-01  15:00:00   end

使用这种方法,你可以得到类似下面的例子:

let randomZeroOne = arc4random_uniform(2)

if randomZeroOne == 1 {
    print(randomZeroOne) // do this
} else {
    print(randomZeroOne) // do that
}

print(randomZeroOne == 1 ? "This" : "That")

答案 1 :(得分:0)

OP并没有提供太多但@Leo做对了

if x == 10 {
    arc4random_uniform(2) == 0 ? dothis() : dothat()
}

Apple应该重命名该方法并摆脱伪方法。