我想生成一些随机数(1到限制)并用数组存储它们。这是我的代码:
var results = [Int]()
for i in 0...qut
{
let lim = limit - 1
results[i] = Int(arc4random_uniform(lim)) + 1
}
然后xcode告诉我"无法转换类型' Int'预期的参数类型' UInt32'。 "
所以我做了一些改变:
results[i] = Int(arc4random_uniform(UInt32(lim))) + 1
现在没有错误。但是当我运行它时,它报告错误:"致命错误:索引超出范围。"
有人能告诉我如何解决这个问题?
答案 0 :(得分:1)
您无法使用下标向数组添加项目。您需要使用数组append()
函数:
results.append(Int(arc4random_uniform(UInt32(lim))) + 1)
如果您使用map()
函数,则更简单:
let count = 10
let limit = 5
let results = (0...count).map { _ in Int(arc4random_uniform(UInt32(limit))) + 1 }