Я создаю приложение для iPhone, которое считывает данные из файла XML, превращает их в управляемые объекты основных данных и сохраняет их.
Приложение работает нормально, в основном, для меньшего набора данных / XML, который содержит ~ 150 объектов. Я сказал в основном потому, что в 10% случаев я получал следующее исключение из CoreData при попытке сохранить контекст:
* Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «* -_referenceData64 определена только для абстрактного класса. Определить - [NSTevenObjectID_default _referenceData64]! '
При большем наборе данных (~ 2000) это происходит каждый раз, но не в одном и том же месте. Может произойти сбой на 137-й, 580-й или самой последней записи. Я пытался переместить точку сохранения (для каждого объекта, для 10 объектов, сохранить после того, как все объекты были выделены / инициализированы), но я всегда получал исключение выше.
Я погуглил исключение и увидел, что у кого-то возникли те же проблемы, но он не нашел решений.
Моим следующим шагом было упрощение управляемых объектов и связей до точки, где эта ошибка останавливается и строится оттуда, чтобы изолировать проблему. В крайнем случае - отказаться от базовых данных и просто сохранить их в sqllite.
Спасибо за вашу помощь!