Добавление отношения в моей модели данных заставляет NSFetchRequest возвращать ноль элементов - PullRequest
0 голосов
/ 30 августа 2010

У меня есть простая сущность под названием «Store», встроенная в устройство моделирования данных Xcode для использования в приложении iPhone. У меня также есть класс (Store), связанный с ним, и я смог без проблем хранить и извлекать данные с использованием CoreData.

Теперь я понял, что хочу иметь отношения с другой сущностью (Проходом). От прохода к магазину уже существует отношение один-к-одному, но, поскольку в одном магазине может быть несколько проходов, я попытался добавить обратное. Новое отношение «один-ко-многим», обратное исходному отношению «один-к-одному», необязательно, и для параметра удаления установлено значение «Каскад». Я также воссоздал связанный класс Store, так что теперь в определении класса теперь есть ивар NSSet.

Простое добавление этой связи делает мои существующие данные невосстановимыми через NSFetchRequest. По мере отладки я вижу, что массив, который заполняется запросом, содержит ноль элементов, но, глядя на базу данных SQL, я вижу, что все объекты есть. Если я удаляю новые отношения, все работает отлично.

Вот мой код для извлечения данных:

NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Store" inManagedObjectContext:context];

[fetchRequest setEntity:entity];

NSError *error;
NSArray *storesList = [context executeFetchRequest:fetchRequest error:&error];

[fetchRequest release];

Есть идеи, почему моя загрузка не работает правильно?

Спасибо!

1 Ответ

1 голос
/ 30 августа 2010

Вы удалили файл sqllite, воссоздали БД и заново заполнили его после изменения модели? Если нет, вы можете рассмотреть это.

...