Весь Python встроенные константы использован для своей выгоды или [верхний] CamelCase:
Я не могу отметить это как решенное, потому что я действительно не решал его, но у меня есть рабочий обходной путь. В .m для каждого из моих управляемых объектов я добавил метод, который выглядит примерно так:
-(void) deleteFromManangedObjectContext{
self.outfit = nil;
self.article = nil;
[[self managedObjectContext] deleteObject:self];
}
Итак, вы можете видеть, сначала я вручную обнуляю отношения, а затем удаляю сам объект. В других объектах вместо nil мой метод удаления вызывается для некоторых отношений объектов, чтобы получить каскад.
Меня все еще интересует «правильный» ответ. Но это лучшее решение, которое у меня есть, и оно позволяет детально контролировать, как удаляются мои отношения.
Проверьте свой файл xcdatamodel
на наличие правила удаления Запретить
. Щелкайте по каждой взаимосвязи, пока не найдете ее. Вам нужно будет изменить это правило или настроить способ удаления управляемых объектов, чтобы предвидеть применение правила в отношении.
I had a similar problem where it turned out the problem was in the .xib file. When I switched on the check box for "Deletes Objects on Remove" (under Bindings->Content Set) of the relevant Array Controller, the problem went away.
Don't know if this will help in your case, but I've had a lot of hairs go gray over problems that turned out be hidden away somewhere inside Interface Builder.
Ты, случайно, сам не реализовываешь часть аксессуара к отношениям? Однажды у меня был код типа
-(NSSet*)articles
{
re-calculates properties....
return [self primitiveValueForKey:@"articles"];
}
в подклассе NSManagedObject и у меня была ошибка сохранения. Случилось так, что когда этот объект удаляется из ManagedObjectContext, CoreData вызывает аксессора "статьями" для работы с распространением удаления. Этот перерасчет статей произошел во время распространения удаления, что в моем случае переустранило нулевую "статьи".