У меня есть небольшой проект с 5 или 6 массивами. У меня возникает проблема, говорящая о том, что моя коллекция NSArray была изменена при перечислении. Но это не говорит мне, о каком массиве идет речь.

Как я могу визуализировать, какой это, чтобы исправить это?

0
marciokoko 28 Ноя 2011 в 20:18
Установлена ​​ли в отладчике точка останова для всех исключений? Перейдите в навигатор точек останова, нажмите +, выберите «Исключение точки останова» и нажмите «Готово». Запустите его снова, и он должен сломаться рядом с местом, где происходит мутация. Также подобные вещи часто случаются, когда у вас запущено несколько потоков (что делает отладку приятной и сложной). Взгляните на Руководство по многопоточному программированию и прочтите также ключевое слово @synchronized().
 – 
Tim
28 Ноя 2011 в 20:25
Спасибо, Тим ... не знаю, как пометить ваш ответ как правильный, но мне действительно нужно было добавить точки останова исключения, и, конечно же, он указал мне виновника
 – 
marciokoko
29 Ноя 2011 в 01:37

1 ответ

Вы всегда можете использовать своего друга NSLog, поскольку вы перебираете свои массивы:

NSLog(@"your_array_name contains: %@", your_array_name");

Никогда не помешает распечатать содержимое каждого из ваших массивов, чтобы убедиться, что вы знаете, что в них хранится.

0
aaron 28 Ноя 2011 в 20:37