2015-08-08 5 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

Ваши Password1 и Password2 массивы пусты. Поэтому вы не можете индексировать их без ошибок. Используйте 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.

Поскольку вы уже инициализируете массивы, вам нужно вызвать append на них, чтобы добавить элемент в конец массива.

Смежные вопросы