2014-09-10 1 views
-3

Привет, одно из моих приложений разбивается с ошибкой ниже, есть ли способ найти, на каком объекте он фактически сбой с помощью инструментов.Как найти мутированный объект при перечислении в ios

Краша Сообщение: Нагрузочное приложение из-за неперехваченное исключение «NSGenericException», причина: "* Коллекция < __NSDictionaryM: 0xc3521c0> мутировали в то же время enumer

Пожалуйста, помогите мне, спасибо заранее.

+0

На самом деле ошибка, вероятно, правильная. Есть ли цикл, заколлирующий словарь, и его изменение? Добавьте код на вопрос! – zaph

ответ

0

Установите контрольную точку исключения, и отладчик остановится при вызове исключения. Это должно сделать оскорбительный объект довольно ясным.

Ознакомьтесь с сообщением об ошибке: сообщает вам, какой объект забросил исключение. Это словарь на 0xc3521c0, и проблема в том, что вы каким-то образом меняете его, пока вы повторяете его. То есть вы не можете сделать что-то вроде этого:

for (id foo in someDictionary) { 
    //... 
    someDictionary[someKey] = someObject; // error -- don't change the array that you're looping on 
    //... 
} 
+0

Это остановится на линии, но дважды будет отображаться причина удара (control-command-Y), и вы увидите причину и трассировку стека и сможете помочь подсказку. – zaph

+0

Привет Калеб и Заф благодарны за вашу помощь. Я добавил точку исключения всех исключений, из-за которой мое приложение вылетает с этой ошибкой *** Завершение приложения из-за неотображенного исключения «NSGenericException», причина: «*** Коллекция <__ NSDictionaryM: 0xb410fa0> была мутирована при перечислении». но он не показывал никакого объекта. :(Для вашей справки я прикладываю скриншот к моему вопросу. – user3341324

+0

Извините, что не могу добавить изображение :(из-за моего количества репутаций ... – user3341324

 Смежные вопросы

  • Нет связанных вопросов^_^