@IBAction func btnSave(sender: AnyObject) {
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context: NSManagedObjectContext = appDel.managedObjectContext
}
这不起作用,因为它说它没有打开。
答案 0 :(得分:0)
由于应用程序委托中的managedObjectContext
是可选的,您应该使用感叹号将其解包,将代码更改为:
let context: NSManagedObjectContext = appDel.managedObjectContext!
答案 1 :(得分:0)
你需要解开它,然后用if语句以安全的方式继续。
@IBAction func btnSave(sender: AnyObject) {
if let context:NSManagedObjectContext = appDel.managedObjectContext! as NSManagedObjectContext {
// safe to use the context here
}
}
答案 2 :(得分:0)
您是否更改了AppDelegate madelURL?
lazy var managedObjectModel: NSManagedObjectModel = {
let modelURL = NSBundle.mainBundle().URLForResource("**YOURPROJECTNAME**", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
}()