У меня есть подкласс NSManagedObject, который имеет некоторые глубокие отношения. Отношения, затронутые здесь следующим образом (для например):Удаление нескольких объектов в данных ядра
order.subOrders
suborder.items
Таким образом, порядок имеет несколько подотряда (ко-многим) и подотряд имеет несколько элементов (в -многие).
Скажем, у моего заказа есть 3 подотряда, и у каждого подотряда есть 3 предмета. Мне нужно удалить один элемент из каждого подотряда примерно в одно и то же время.
Итак, я попытался следующие:
for(Item *item in itemsToBeDeleted) {
[context deleteObject:item];
}
[context save:&error];
Я затем снова запустить приложение и оно кажется, что только один из пунктов был удален. Таким образом, я удаляю 2 оставшихся элемента (используя тот же метод) и повторно запускаю приложение, но снова удаляется только один.
Может кто-нибудь может указать мне в правильном направлении?
Thanks Michal. В коллекции есть определенное количество объектов, так как каждый NSLog'd на каждой итерации. Каждый объект в коллекции кажется правильным объектом, который также нуждается в удалении .... –
Полезно знать это, но если вы ожидаете помощи, я боюсь, что вы должны загрузить больше кода для анализа. Я не думаю, что что-то не так с кодом выше. –
Спасибо, Михал. Код действительно намного сложнее, чем просто (хотя сама часть удаления так просто). Проблема решена сама собой, когда я начал использовать другой код при итерации по этим элементам. Я могу только предположить, что я допустил ошибку в одном из моих методов при сборе элементов для удаления. –