Ios CoreData模型工作不正常

Ios CoreData模型工作不正常,ios,core-data,xcode4.3,core-data-migration,xcdatamodel,Ios,Core Data,Xcode4.3,Core Data Migration,Xcdatamodel,我正在更新一个使用CoreData的应用程序。在完整版本中,我这样做是为了让用户可以将自己的数据保存在数据库中。应用程序将填充一个预填充的数据库 该应用程序是在Xcode 4.2上编写的,部署目标是iOS 4.1,所以在ARC和故事板之前 现在我想对其进行一点更新,将部署目标设置为5.1,并使代码适应最新的Xcode,因此实现故事板和ARC,因为我现在已经习惯了它,而且我发现维护此代码更直观。 所以我从头开始了一个新项目,我构建了故事板,并从1.0版本中拖拽了大部分内容。此外,我还检查了Buil

我正在更新一个使用CoreData的应用程序。在完整版本中,我这样做是为了让用户可以将自己的数据保存在数据库中。应用程序将填充一个预填充的数据库

该应用程序是在Xcode 4.2上编写的,部署目标是iOS 4.1,所以在ARC和故事板之前

现在我想对其进行一点更新,将部署目标设置为5.1,并使代码适应最新的Xcode,因此实现故事板和ARC,因为我现在已经习惯了它,而且我发现维护此代码更直观。 所以我从头开始了一个新项目,我构建了故事板,并从1.0版本中拖拽了大部分内容。此外,我还检查了Build Phases选项卡上的Compile Sources和Copy Bundle资源是否正常,并包括我拖动的所有内容

但是,我遇到了数据库问题。当我尝试运行应用程序时,它会崩溃,告诉我:

'Cannot create an NSPersistentStoreCoordinator with a nil model'
所以我不确定我做错了什么。我不想更改CoreData模型,因为一切都保持不变,我没有添加或删除任何实体或属性。因此,我认为将旧模型拖到新项目中就足够了

有什么建议吗?我可以很容易地从头开始编写整个codeData内容,因为它并不十分复杂,但我相信购买完整版本并保存自定义数据的用户会非常不安


任何建议都是非常受欢迎的。提前谢谢

您需要检查AppDelegate方法managedObjectModel。确保它使用NSLog语句检索模型检查。很可能与某些命名约定有关:

NSString *modelPath = [[NSBundle mainBundle] 
    pathForResource:@"Model" ofType:@"momd"];
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
专门检查您的modelPath

此外,可能发生的情况是,当您导入模型时,并没有真正导入所有文件。该模型实际上是一个名为YourModel.xcdatamodeld的目录,其中最后的d可能代表目录。在Finder中,您实际上可以右键单击并选择ShowPackageContents,以确保必要的文件在那里,从而更好地使用命令行。里面应该有一个名为YourModel.xcdatamodel的文件,没有d。在这一方面,至少应该有一个名为content的文件,有时也包括布局。它是一个简单的XML文件


确保将所有这些导入到项目中

我认为您需要验证持久存储路径是否正确。看看afrederick的回答:在我发布问题后不久,我注意到Xcode编辑器顶部的路径显示了两种数据模型的不同内容。在旧版上,它显示了一个进一步的文件,所以我考虑检查包的内容。我做了1:1的复印,效果很好。