0
私のカスタムNSManagedObjectでは、私はfailable初期化子を使用しています。しかし、失敗してNSManagedObjectContextを保存しても、そのオブジェクトはCore Dataに保存されます。まだNSManagedObjectが保存されていません
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 }
}
}
私は、この初期化に失敗し、まだ保存に失敗したオブジェクトを持たずにコンテキストを保存できますか?
ありがとう、私は何度も何度も試してきましたが、ちょうどそのチェックが 'self.init'の前に行われなければならないことに気付きました。これは非常に論理的です... –