Проблема контекста основных данных - PullRequest
0 голосов
/ 16 марта 2012

У меня есть отношение один ко многим в моей основной модели данных.К одной еде может быть приложено много продуктов.У меня возникли небольшие трудности с кодом, и у меня есть несколько вопросов.

(1) Если я просто хочу создать кучу продуктов и не хочу прикреплять их к еде.Достигнет ли эта модель этого?Например, я хочу создавать продукты из яблок, персиков и груш, но я не хочу, чтобы их назначали на еду.Должен ли я назначать еду для каждой еды?

Food *food = [NSEntityDescription insertNewObjectForEntityForName:@"Food" inManagedObjectContext:self.context];
food.name = @"Apple";
food.type = @"Fruit";

OR

Meal *meal = [NSEntityDescription insertNewObjectForEntityForName:@"Meal" inManagedObjectContext:self.context];

// Create Food (same way as above)

[meal addFoodsObject: food];

(2) Если у меня есть отдельные классы, каждый со своим собственным контроллером извлечения, нужен ли каждому классу свой собственный контекст или я могу поделиться им из App Delegate.Например, один класс отображает все блюда, а другой - все продукты.

enter image description here

1 Ответ

2 голосов
/ 16 марта 2012

(1) Пока ваши отношения помечены как необязательные (по умолчанию) в конструкторе моделей, вам Food объектам не нужно Meal.

(2) Вы можете использовать main NSManagedObjectContext из делегата приложения, если вы не делаете ничего, что нарушало бы ограничение основного потока. (Что не похоже на то, что вы делаете ...)

...