获取NSInvalidArgumentException',原因:'无法使用nil模型创建NSPersistentStoreCoordinator'

时间:2014-08-06 10:07:59

标签: ios xcode swift

此代码在xCode 6 beta 4上工作正常,在测试版5之后,我遇到了这个问题。

当我尝试创建ManagedObjectContext的实例时,我将AppDelegate设为nil。 查看下面的截图。 enter image description here

我在第21行遇到异常,如果您看到NSManagedObjectContextnil。那么我应该如何在Swift中创建AppDelegate的实例。 另外我注意到在Delegate方法中,ManagedObject现在是一个Lazy Var而不是var。 根据Swift文档,它表示只有在使用一次之后才会计算。所以想知道我是否需要为此声明一些内容?

参考代码:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    var appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    var context: NSManagedObjectContext = appDel.managedObjectContext!
    var currentrequest  =   NSFetchRequest(entityName: "SomeEntity")
    currentrequest.returnsObjectsAsFaults = false
    results = context.executeFetchRequest(currentrequest, error: nil    )
}

1 个答案:

答案 0 :(得分:2)

从您发布的AppDelegate.swift代码中,我可以假设managedObjectModel函数或xcdatamodeld文件中拼写错误的模型名称尚未添加到目标中。

正如您在对该问题的评论中所确认的那样,URL资源的拼写存在问题,无法从捆绑中获取模型。