2015-10-16 3 views
0

По какой-то причине это происходит каждый раз, когда я пытаюсь получить доступ к определенному индексу из массива, указав переменную int в индексе в forloop. Когда я получаю сообщение об ошибке 1, но если я использую переменную, которая не была объявлена ​​в самом forloop, чем кажется, что она работает нормально. Код:Ошибка при использовании локальной переменной для доступа к массиву index

for(int i =0 ; i<= [array count]; i++) { 
    NSNumber *convert = [array objectAtIndex:i]; //results in error 
    NSLog(@"%i", [convert intValue]); 
    } 
+0

@Alexander Iam использованием LLVM компилятор для Xcode. –

+0

В первом примере ошибка находится в i <= [array count]. Во-вторых: что такое значение indexAt? – theWalker

ответ

1

Проблема это вы пытаетесь получить доступ массива за пределами его возможностей. Массив начинается с индекса 0 и доходит до array.count - 1. Тем не менее, пожалуйста, попробуйте ниже код и вы должны быть хорошо:

for (int i = 0 ; i <= array.count - 1 ; i++) { 
    NSNumber *convert = [array objectAtIndex:i]; 
    NSLog(@"%i", [convert intValue]); 
} 

Другой вариант может быть:

for (int i = 0 ; i < array.count ; i++) { 
    NSNumber *convert = [array objectAtIndex:i]; 
    NSLog(@"%i", [convert intValue]); 
} 
Смежные вопросы