Приложение позволяет управлять списком поставщиков и списком продуктов, доступных у этих поставщиков.Модель данных содержит 2 объекта: Поставщик и Продукт.
Поставщик имеет отношение «один ко многим» к продукту, для правила удаления установлено значение «Каскад» (поскольку я не хочу вести учет продуктов поставщика, если онразоряется).Продукт имеет настройки отношения по умолчанию.
В IB у меня есть 2 контроллера массива.Один указывает на сущность «Поставщик» с параметрами: MOC привязан к AppDelegate и MKP = managedObjectContext.Другие указывают на сущность Product с параметрами: MOC, привязанный к AppDelegate и MKP = managedObjectContext, и с содержимым контроллера: набор содержимого, привязанный к контроллеру массива Suppliers, CK = selection и MKP = name_of_relation.
На интерфейсеУ меня есть 2 NSTableViews для поставщиков и продуктов, и кнопки для добавления / удаления из таблиц.Когда я выбираю поставщика, в таблице продуктов отображаются только его конкретные продукты.Когда я удаляю товар, товар исчезает из таблицы.Он работает как задумано.
Я думал, что он работал нормально, до того дня, когда мне стало интересно посмотреть, как CoreData фактически управляет полями данных и таблицами внутри базы данных SQLite.Поэтому я открыл его с помощью надстройки SQLiteManager в Firefox и ... ужас!Я вижу, что Продукты не удалены.Данные все еще там!Была удалена только ссылка на Поставщика, и поэтому она больше не отображается в таблице, что наводит меня на мысль, что она была удалена правильно.
Что я сделал не так?Это что-то с привязками Content Set?Спасибо за совет.