0
我试图延长NSManagedObjectContext
并从中实例化一个对象如下:为什么NSManagedObjectContext在扩展时返回null?
extension NSManagedObjectContext {
func persist(block: @escaping()->Void) {
perform {
block()
do {
try self.save()
} catch {
self.rollback()
}
}
}
}
并在控制器:它打印,但不经过
var managedObjectContext: NSManagedObjectContext?
func saveFamilyMember(withName name: String) {
guard let moc = managedObjectContext
else { return }
moc.persist {
let familyMember = FamilyMember(context: moc)
familyMember.name = name
print("xxxxxxxx")
}
}
当我打印线guard let moc
之前。它不会返回任何错误,因为它安全地解包但不起作用。
你在哪里给'managedObjectContext'变量赋值? –
@TomHarrington我没有给它赋值。我必须分配什么价值才能发挥作用? –