有没有办法缩短带有 arc4random_uniform( ) 的 if 语句?
Is there a way to shorten if statements with arc4random_uniform( ) inside them?
我在处理一些 if 语句时遇到了一些问题。我想弄清楚如何缩短其中包含 arc4random_uniform
的 if 语句。这是我的代码:
func firstCustomNumberRange(发件人:AnyObject){
if (firstCustomNumberRangeLabel == 1 )
{
var randomNumber = 1
}
if (firstCustomNumberRangeLabel == 2 )
{
var randomNumber = arc4random_uniform( 2) + 1
}
if (firstCustomNumberRangeLabel == 3 )
{
var randomNumber = arc4random_uniform( 3) + 1
}
if (firstCustomNumberRangeLabel == 4 )
{
var randomNumber = arc4random_uniform( 4) + 1
}
...}
(我重复了 20 次)。这是一个非常耗时的过程,光是写这些简单的 if 语句我就花了大约 30 分钟。
是否可以缩短带有自定义 arc4random_uniform( )
的 if 语句。
提前致谢。
直接将firstCustomNumberRangeLabel
的值传给arc4random_uniform()
即可:
func firstCustomNumberRange(sender : AnyObject){
if let numberRange = NSNumberFormatter().numberFromString(firstCustomNumberRangeLabel.text!) {
let randomNumber = arc4random_uniform(UInt32(numberRange.unsignedIntegerValue)) + 1
}
}
我在处理一些 if 语句时遇到了一些问题。我想弄清楚如何缩短其中包含 arc4random_uniform
的 if 语句。这是我的代码:
func firstCustomNumberRange(发件人:AnyObject){
if (firstCustomNumberRangeLabel == 1 )
{
var randomNumber = 1
}
if (firstCustomNumberRangeLabel == 2 )
{
var randomNumber = arc4random_uniform( 2) + 1
}
if (firstCustomNumberRangeLabel == 3 )
{
var randomNumber = arc4random_uniform( 3) + 1
}
if (firstCustomNumberRangeLabel == 4 )
{
var randomNumber = arc4random_uniform( 4) + 1
}
...}
(我重复了 20 次)。这是一个非常耗时的过程,光是写这些简单的 if 语句我就花了大约 30 分钟。
是否可以缩短带有自定义 arc4random_uniform( )
的 if 语句。
提前致谢。
直接将firstCustomNumberRangeLabel
的值传给arc4random_uniform()
即可:
func firstCustomNumberRange(sender : AnyObject){
if let numberRange = NSNumberFormatter().numberFromString(firstCustomNumberRangeLabel.text!) {
let randomNumber = arc4random_uniform(UInt32(numberRange.unsignedIntegerValue)) + 1
}
}