2015-08-08 69 views
-2
var Password1 : Array = [Int]() 
var Password2 : Array = [Int]() 

while Password1.count < 800 { 

    var RandomNum1 = Int(arc4random_uniform(256)) 
    var RandomNum2 = Int(arc4random_uniform(256)) 

    Password1[Password1.count] = RandomNum1 
    Password2[Password2.count] = RandomNum2 

} 

Password1[Password1.count] = RandomNum1线这似乎 - > EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子码=为0x0)阵列索引超出范围

+0

http://stackoverflow.com/questions/24002733/add-an-element-to-an-array – m69

回答

2

Password1Password2阵列是空的。因此,您不能在没有错误的情况下编入索引。使用append来创建数组:

Password1.append(RandomNum1) 
Password2.append(RandomNum2) 

此外,变量名应该以小写字母开头。


如果你希望能够索引到阵列,用零首先初始化它们:

var password1 = [Int](count: 800, repeatedValue: 0) 
var password2 = [Int](count: 800, repeatedValue: 0) 

for i in 0..<800 { 
    var randomNum1 = Int(arc4random_uniform(256)) 
    var randomNum2 = Int(arc4random_uniform(256)) 

    password1[i] = randomNum1 
    password2[i] = randomNum2 
} 
0

您试图在不存在的键取代的价值。这是PHP方式,而不是Swift。

由于您已经初始化了数组,因此您需要对它们进行调用追加以在数组末尾添加元素。