У меня очень простая круговая (или саморефлексирующая) модель данных ядра отношения в моей игре в слова iPhone.Entity Word имеет отношение «один ко многим» с самим собой и указывает на связанные слова:
Я использую шаблонное приложение NSPersistentDocument Core Data Mac OS X для импорта слов в Core Datasqlite database.
После импорта данных я вижу, что все отношения импортируются правильно (каждое слово имеет хотя бы одно или несколько связанных слов).
Однако после сохранения базы данных вФайл sqlite и повторное его открытие приводит к огромной потере связанных слов указатели (слова все еще там, но отношения пропали - NSLog для них показывает ноль ).Иногда это может привести к потере до 50% информации о связанных словах.
Когда я сохраняю свою базу данных в виде XML или двоичного файла и открываю ее снова, все отношения сохраняются должным образом.
Может кто-нибудь указать мне , почему сохранение в файл sqlite может привести к потере некоторых данных отношений , когда XML и двоичные версии одной и той же базы данных хранят все правильно?
Я заинтересован в sqlite, потому что он считает, что при использовании в iPhone он более эффективен (память) и, конечно, создает значительно меньший размер файла базы данных.