Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Swift array.count和arc4random()_Swift - Fatal编程技术网

使用Swift array.count和arc4random()

使用Swift array.count和arc4random(),swift,Swift,我缺少什么才能让代码正常工作?nodesLeft是一个[Int] let x = nodesLeft.count let r = Int(arc4random_uniform(x)) 我得到一个错误: 游乐场执行失败:错误::136:40:错误:“NSNumber”不是“UInt32”的子类型 设r=Int(arc4random_uniform(x))我遇到了与arc4random_uniform()相同的问题;它的参数必须是UInt32so castx: let x = UInt32(nod

我缺少什么才能让代码正常工作?nodesLeft是一个[Int]

let x = nodesLeft.count
let r = Int(arc4random_uniform(x))
我得到一个错误:

游乐场执行失败:错误::136:40:错误:“NSNumber”不是“UInt32”的子类型
设r=Int(arc4random_uniform(x))

我遇到了与
arc4random_uniform()相同的问题;它的参数必须是
UInt32
so cast
x

let x = UInt32(nodesLeft.count)
let r = Int(arc4random_uniform(x))

必须在
UInt32

    var nodesLeft = ["T1", "T2", "T3", "T4"]

    let x = UInt32(nodesLeft.count)
    println(x)

    let r = Int(arc4random_uniform(x))
    println(r)

猜测
x
被推断为一个NSNumber,并且arc4random_统一需要一个UInt32,因此您需要将
x
强制转换为UInt32。