У меня есть простая сущность под названием «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];
Есть идеи, почему моя загрузка не работает правильно?
Спасибо!