Коллекция <NSCFSet: 0x1b0b30> была видоизменена при перечислении. Как определить, какой набор? - PullRequest
2 голосов
/ 02 мая 2010

Я делаю кучу вставок основных данных, и после 20k или около того вставок с сохранениями каждые 1-2k я получаю эту ошибку:

Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <NSCFSet: 0x1b0b30> was mutated while being enumerated.'

Я пытаюсь выяснить, какой NSSet вызывает это. Я выполнил поиск, и единственные NSSets в моем коде - это автоматически сгенерированные, которые обрабатывают отношения Core Data.

Я использую NSXMLParser и для каждого найденного элемента создаю новую сущность (если соответствующая еще не существует).

Таким образом, я создам государственную сущность, а затем заполню все городские сущности, а затем сделаю сохранение. Это означает, что в штат добавляются города NSSet *, но я не понимаю, почему вы не можете этого сделать.

1 Ответ

8 голосов
/ 02 мая 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...