У меня есть отношение «один ко многим» в моей модели данных ядра. Одна еда может иметь несколько продуктов. Я хочу заполнить таблицу продуктами из одной еды. Поэтому, если в блюде № 1 есть яблоки, апельсины и лимоны, тогда таблица будет состоять из этих трех продуктов.Основные данные Отношение «один ко многим»
Любая помощь очень ценится, потому что я полностью застрял.
Вот моя модель:
И Классы NSManagedObject:
Meal.h
@class Food;
@interface Meal : NSManagedObject
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSSet *foods;
@end
@interface Meal (CoreDataGeneratedAccessors)
- (void)addFoodsObject:(Food *)value;
- (void)removeFoodsObject:(Food *)value;
- (void)addFoods:(NSSet *)values;
- (void)removeFoods:(NSSet *)values;
@end
Food.h
@class Meal;
@interface Food : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) Meal *meals;
@end
Вот код, где я пытаюсь это сделать, но у меня возникают некоторые проблемы.
- (NSFetchedResultsController *)fetchedResultsController
{
if (_fetchedResultsController != nil)
return _fetchedResultsController;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Food" inManagedObjectContext:_context];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"Meal.foods == %@", entity]];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:_context sectionNameKeyPath:nil cacheName:@"Root"];
self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;
[fetchRequest release];
[theFetchedResultsController release];
return _fetchedResultsController;
}
Что вы застряли на.? Расскажите, пожалуйста, какие у вас проблемы. – sosborn
Зачем использовать отношения «один ко многим» здесь? Если «Продовольствие» представляет собой * вид * пищи, а не определенный кусок пищи, я бы ожидал, что данный экземпляр «Food» сможет быть связан с несколькими приемами пищи. – Caleb
Ваша проблема решена ?? –