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