Индекс массива вне диапазона
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)
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
}
Вы пытаетесь заменить значение в ключах, которые не существуют. Это способ PHP, а не Swift.
Поскольку вы уже инициализируете массивы, вам нужно вызвать append для них, чтобы добавить элемент в конец массива.