Что такое NSInternalInconsistencyException и как с ним бороться? - PullRequest
2 голосов
/ 10 февраля 2012

Часто я получаю NSInternalInconsistencyException с различными сообщениями об ошибках, может ли любой собеседник дать конкретные причины и решения об этом исключении. Пожалуйста, предоставьте любую информацию, ссылки или сообщения в блогах об этом исключении. Это поможет мне и новичкам преодолеть эту проблему.

Например, я получаю следующие сообщения об исключениях:

"+entityForName: could not locate an NSManagedObjectModel for entity name 'Customer'"
2nd Context already has a coordinator; cannot replace.

1 Ответ

1 голос
/ 10 февраля 2012

NSInternalInconsistencyException - это общая ошибка, обычно вызванная ошибкой NSAssert, NSParameterAssert или другим утверждением. Обычно это сопровождается определенным сообщением об ошибке, которое сообщает вам, где проблема. Возьмите следующий код в качестве примера:

NSAssert([foo isReadyToDoBar], @"Foo is not ready to bar.");

Если foo не готов к запрету, это должно вызвать исключение внутренней несогласованности. Подобные ошибочные утверждения чаще всего наблюдаются во время разработки (или, по крайней мере, так и должно быть), потому что они часто означают, что программист делает что-то не так с API, например, нарушает некоторые ограничения, которые не применяются через систему типов.

Вы ничего не можете сделать с исключением из-за внутренней несогласованности, не зная больше, это было бы похоже на лечение боли без поиска ее причины.

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