2013-03-13 4 views
2

Я получаю массив за пределами ошибки в этом нелепом индексе, который, основываясь на моих исследованиях, говорит, что, вероятно, некоторые код, вызывающий что-то отрицательное, например [array objectAtIndex: -1] Проблема в том, что это не мой код, и я не могу найти его нигде. Я поставил точки останова повсюду безрезультатно. Я думаю, что это может быть в методе делегата UITableView, но не может быть уверенным. Есть ли в любом случае доступ к значению всех моих переменных int в журнале. Я не могу NSLog их, потому что я не знаю, где происходит сбой.CRASH: *** - [__ NSArrayM objectAtIndex:]: index 4294967295 за пределами границ [0 .. 9]

Спасибо!

+0

Посмотрите на трассировки стека вы получите при ошибке. Какая из ваших функций самая последняя (т. Е. Ближе всего к вершине списка)? Вот в чем проблема. – bdesham

+0

попытайтесь найти NSMutablearray в вашем коде, который загружает таблицу с содержимым массива, но когда вы пытаетесь вытащить индекс с отрицательным значением, он сработает. –

ответ

15

Try добавление точки останова исключение, чтобы увидеть, если это ловит:

1) Нажмите на вкладку точек останова

2) Нажмите на кнопку «+» на левой нижней части лепесток экрана

3) Выберите "Добавить Exception Breakpoint"

4) (Необязательно) изменение Исключение: Все для Exception: Objective-C

5) Нажмите кнопку Готово,

Обычно это ломается прямо перед/перед линией, которая вызывает крушение.

Удачи.

+0

Найденный, переменная int была вычтена другой переменной int, вызывающей отрицательное число. Я бы проголосовал за это до 10, если бы мог! Спасибо! – JeffN

+0

Я хотел бы дать вам +10, если бы мог, я новичок в XCode и obj-c, и я рвал мои волосы, пытаясь понять, что вызывает мое исключение! gracias –

+0

Просто отличный вариант ... жизненно важный для выживания –

1
  1. Добавить исключение точки останова
  2. Проверьте трассировки стека enter image description here
  3. найти последний метод выполнен
  4. Регистрирует значение, используемое для получения значение массива