【发布时间】:2016-01-23 08:49:03
【问题描述】:
我有一个NSManagedObject,它的关系看起来像这样:
class Foo: NSManagedObject {
let context = (UIApplication.sharedApplication().delegate as! AppDelegate).model.context
@NSManaged var something: NSSet
// Some setup etc.
}
当我从上下文中删除这个对象时,我也想删除 something 并尝试在 Foo 类中使用 deinit 这样做:
deinit {
print(something.count) // prints 0
something.forEach { context.deleteObject($0) }
}
当我删除Foo 的实例时,deinit 将被调用,但在调用deinit 之前不知何故与something 的关系丢失了。有没有办法使用deinit 删除something 而不是单独手动删除?
【问题讨论】:
标签: ios swift core-data nsmanagedobject