Итак, у меня есть объекты CoreData: Book
,, Highlight
. Книга содержит информацию о книге и NSSet
от Bookmarks
.В чем разница между self.managedObjectContext и managedObjectInstance.managedObjectContext?
Я хочу удалить закладки, имеющиеся в одной книге, а затем сразу же заполнить их своим набором.
Это код, который у меня есть из другого проекта, и я не могу понять, почему они использовали различные методы deleteObject
.
Они идут как:
for (Bookmark *bookmark in book.bookmarks) {
[bookmark.mamagedObjectContext deleteObject:bookmark];
}
В чем разница между использованием self.managedObjectContext
и bookmark.managedObjectContext
. Кроме того, ни один из них не оказывает никакого влияния на содержимое, и я получаю сообщение об ошибке при попытке удалить все закладки в цикле forin
, а затем снова добавить новый набор с помощью цикла forin
.
Просьба указать в комментариях, если требуется дополнительная информация.
Этот цикл 'for' не должен использоваться, потому что для циклов forin' не разрешается изменять коллекцию. – sosborn
@sosborn Это совершенно правильно на CD, так как объект помечен только для удаления. Когда жизненный цикл достигает конца, CD удаляет объекты в постоянном хранилище. –