我有NSManagedObject
,其中有很多关系,如下所示:
class Foo: NSManagedObject {
let context = (UIApplication.sharedApplication().delegate as! AppDelegate).model.context
@NSManaged var something: NSSet
// Some setup etc.
}
当我从上下文中删除此对象时,我也想删除something
并尝试使用deinit
课程中的Foo
进行删除:
deinit {
print(something.count) // prints 0
something.forEach { context.deleteObject($0) }
}
当我删除Foo
的实例时,将调用deinit
,但在something
被调用之前,与deinit
的关系会丢失。有没有办法使用something
删除deinit
而不是手动删除它?
答案 0 :(得分:1)
这就是关系中的级联删除规则。在Xcode的模型视图中设置它。