2011-01-13 2 views
0

У меня есть моя старая модель данных, моя новая модель (такая же, но с двумя текстовыми полями в одном объекте) и модель сопоставления (только по умолчанию).Основные данные: бесконечный цикл во время автоматической миграции между двумя моделями данных

Когда я делаю автоматическую миграцию, я получаю сбой и стек, который выглядит так, как будто он вводит бесконечный цикл, 62851 стек кадров, в основном _PF_Handler_Public_GetProperty и описания на NSManagedObject, завершенные ошибкой malloc, которую я предполагаю, это бесконечный цикл нехватка памяти на моем устройстве.

stack trace

У вас есть какие-либо идеи, что может привести к такой бесконечный цикл? Я не знаю, с чего начать эту отладку.

Приветствия

Nik

ответ

2

Start под отладчиком, а затем нажмите кнопку паузы. Затем попробуйте шаг за шагом и попытайтесь найти причину петли. Может быть, одни и те же данные читаются снова и снова, не продвигаясь вперед? Если это не поможет, закомментируйте код и посмотрите, воспроизводится ли он. Продолжайте делать это, и вы можете найти свой неисправный блок. Этот пост может быть полезен How do I debug my program when it hangs?.

+0

С автоматической миграцией существует только одна строка кода: [persistentStoreCoordinator addPersistentStoreWithType: NSSQLiteStoreType: nil URL: storeURL options: dict error: & error]; Остальная трассировка стека 628xx - это Apple, и происходит очень, очень быстро, сплит-секунда. – niklassaers

+0

Возможно ли, что у вас есть круговые зависимости в ваших объектах данных? – Schultz9999

+0

Да, это очень вероятно. Это проблема? В конце концов, Apple настоятельно советует иметь отношения в обоих направлениях? – niklassaers

0

Вы переопределили «описание» в своих объектах Core Data? Вы не должны использовать собственные методы описания с объектами Core Data.