проблема с массивом - PullRequest
0 голосов
/ 20 мая 2010

Получение ошибки в этой строке:

NSString *nmm =[narr objectAtIndex:1];

ошибка показывает:

'NSRangeException', причина: '*** - [NSCFArray objectAtIndex:]: индекс (1) за пределами (1) '

Ответы [ 2 ]

1 голос
/ 20 мая 2010

Возможно, вам следует начать с проверки содержимого narr во время выполнения. Похоже, что содержимое не то, что вы ожидаете, что они будут в желаемой точке выполнения. Прямо перед строкой, которую вы разместили в своем вопросе, используйте вызов NSLog для записи содержимого массива следующим образом:

NSLog(@"Contents of array: %@", narr);

Затем запустите приложение и проверьте консоль после возникновения ошибки. Потратьте некоторое время на изучение того, как использовать NSLog, точки останова и консоль GDB - они в конечном итоге избавят вас от многих разочарований при отладке.

Ваши комментарии к ответу unset поднимают еще один вопрос: почему вы храните несколько фрагментов данных в одной строке? Не проще ли разделить name, lname и id на отдельные строки и поместить каждую в свою ячейку массива? Затем вы можете получить к ним доступ, используя [narr objectAtIndex:], не беспокоясь о разборе строки каждый раз, когда вам понадобится одна из этих частей информации.

1 голос
/ 20 мая 2010

Похоже, ваш массив получил только одно значение (к которому вы можете обращаться по индексу 0, а не по индексу 1).

...