проблема данных ядра iPhone: referenceData64 только определяется для абстрактного класса

У меня есть приложение, которое загружает/анализирует большой XML-файл, и храните информацию с помощью базовых данных (приблизительно 4 000 объектов (объекты)). XML загружается/анализируется в другом потоке, который имеет его собственный NSManagedObjectContext.

При попытке сохранить объекты к персистентному хранилищу, я иногда получаю следующую ошибку (приблизительно 20%)

03.03.2010 23:41:42.802 xxx [7487:4203] Исключение в сохранении XML
03.03.2010 23:41:42.802 xxx [7487:4203] Описание: * - _referenceData64 только определенный для абстрактного класса. Определите - [NSTemporaryObjectID_default _referenceData64]!
03.03.2010 23:41:42.803 xxx [7487:4203] Имя: NSInvalidArgumentException
03.03.2010 23:41:42.804 xxx [7487:4203] UserInfo: (пустой указатель)
03.03.2010 23:41:42.805 xxx [7487:4203] Причина: *
- _referenceData64 только определенный для абстрактного класса. Определите - [NSTemporaryObjectID_default _referenceData64]!

У меня есть простое целое число для отслеживания объекты, которые приложение создает по сравнению с insertedObjects свойством в NSManagedObjectContext перед сохранением, и когда я получаю ошибку, эти числа не соответствуют, insertedObjects в NSManagedObjectContext пропускает приблизительно 10 объектов.

Я не знаю, как я должен продолжить исследовать эту проблему, у кого-либо есть какая-либо идея, как зафиксировать это?

Спасибо/oscar

9
задан gerry3 4 March 2010 в 04:25
поделиться

2 ответа

У меня была та же проблема с основными данными и многопоточными операциями. Прочтите эту статью для понимания проблемы.

В рабочем потоке я начал использовать функции lock, unlock для NSManagedObjectContext, и сбой больше не повторяется.

5
ответ дан 4 December 2019 в 23:39
поделиться

Используете ли вы собственные подклассы NSManagedObject для своих сущностей? Эта проблема может возникнуть, если вы выполняете неправильную инициализацию и т. Д. В initWithEntity: insertIntoManagedObjectContext:

1
ответ дан 4 December 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: