func saveName(name: String){
//1
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext!
//2
let person = NSManagedObject(entity: entity!, insertIntoManagedObjectContext:managedContext)
//3
person.setValue(name, forKey: "name")
//4
var error: NSError?
if !managedContext.save(&error) {
print("Could not save \(error!), \(String(describing: error?.userInfo))");
}
//5
people.append(person)
}
我无法让这个程序正常工作。我正在尝试保存到CoreData。
答案 0 :(得分:0)
在 Swift 3 中,您可以像下面这样访问上下文对象: -
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
答案 1 :(得分:0)
由于经常使用托管对象上下文,因此在AppDelegate
lazy var managedObjectContext : NSManagedObjectContext = {
return self.persistentContainer.viewContext
}()
entity
和managedObjectContext
都应该是非可选的。
答案 2 :(得分:-1)
更改代码中的第二行以访问托管对象上下文
let managedContext = appDelegate.persistantContainer.Viewcontext