Ваши классы еды и еды неправильны. Лучше убить их и позволить XCode автоматически перегенерировать
эти классы через (убедитесь, что ваша сущность выбрана):
![enter image description here](https://i.stack.imgur.com/fMKsq.png)
В вашем методе получения fetchedResultsController
убейте строку:
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"Meal.foods == %@", entity]];
Обычно вы используете предикат для фильтрации ваших данных, таких как продукты, содержащие банан. Ваш текущий предикат на данный момент не имеет смысла. Он говорит: «Дайте мне еду, которая содержит еду, называемую« сущность », ... не имеет смысла».
Так как вы хотите получать еду ...
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Food" inManagedObjectContext:_context];
должно быть:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Meal" inManagedObjectContext:_context];
(обратите внимание на @"Meal"
).
Затем вы получите доступ к продуктам после каждого приема пищи через meal.foods
.
Эта строка:
self.fetchedResultsController = theFetchedResultsController;
должно быть:
_fetchedResultsController = theFetchedResultsController;
То, что вы сделали, это в основном вызов метода, в котором вы находитесь.