【发布时间】:2017-03-12 12:09:52
【问题描述】:
在我的自定义 NSManagedObject 中,我使用了一个可失败的初始化程序。但即使它失败并且我保存了 NSManagedObjectContext,该对象也被保存到 Core Data 中。
NSManagedObject:
class Foo: NSManagedObject {
@NSManaged var a: String
@NSManaged var b: String
convenience init?(context: NSManagedObjectContext, a: String?, b: String?) {
let description = NSEntityDescription.entity(forEntityName: "Foo", in: context)!
self.init(entity: description, insertInto: context)
if let a = a { self.a = a } else { return nil }
if let b = b { self.b = b } else { return nil }
}
}
我怎样才能使这个初始化程序失败并且仍然保存上下文而不保存失败的对象?
【问题讨论】:
标签: swift core-data nsmanagedobject