Core data 核心数据-加载外部存储/错误:'+entityForName:找不到实体名称'Place'的NSManagedObjectModel

Core data 核心数据-加载外部存储/错误:'+entityForName:找不到实体名称'Place'的NSManagedObjectModel,core-data,nsfetchedresultscontroller,save,Core Data,Nsfetchedresultscontroller,Save,我有一个利用核心数据进行数据持久化的应用程序。我的应用程序由TabBarController中的4个导航控制器组成。导航控制器的根视图控制器是UITableView控制器,当您选择一个单元格时,它会在每种情况下显示一个详细视图控制器。我希望主应用程序是静态的,这样用户就不能编辑数据,我的更新将使用一个单独的应用程序进行,我将使用该应用程序更新数据,然后发布一个新版本 我已经完成了数据应用程序,它成功地保存了数据,我可以将其调回显示,所有显示都很好。我还使用SQlite数据浏览器查看了数据,以确保

我有一个利用核心数据进行数据持久化的应用程序。我的应用程序由TabBarController中的4个导航控制器组成。导航控制器的根视图控制器是UITableView控制器,当您选择一个单元格时,它会在每种情况下显示一个详细视图控制器。我希望主应用程序是静态的,这样用户就不能编辑数据,我的更新将使用一个单独的应用程序进行,我将使用该应用程序更新数据,然后发布一个新版本

我已经完成了数据应用程序,它成功地保存了数据,我可以将其调回显示,所有显示都很好。我还使用SQlite数据浏览器查看了数据,以确保一切正常

然后,我获取已填充的.sqlit文件并将其放置在主应用程序的documents目录中,并确保名称匹配,请参见以下内容:

NSURL*storeURL=[[self-applicationDocumentsDirectory]URLByAppendingPathComponent:@RoundTopApp.sqlite]

执行此操作并运行应用程序后,我得到以下错误:

“+entityForName:找不到实体名称”位置的NSManagedObjectModel

我添加了下面的代码,以说明我正在使用NSFetchedResultsController执行提取

空隙率 { [超级视图下载]

n错误*错误; 如果![[self-fetchedResultsController]性能检测:&错误]{ NSLog@Unresolved错误%@,%@,错误,[错误用户信息]; exit-1;//失败 }

self.title=@住宿; }

除了未能将其添加到应用程序包或其他内容之外,我不确定这里出了什么问题

任何帮助都将不胜感激


Hudson

错误表示您正试图从数据存储访问名为Place的实体,但您在应用程序中定义的托管对象模型不包含此实体。也许您在创建数据存储的其他应用程序中添加了此实体?如果是这样,您需要更新正在读取数据存储的应用程序中的托管对象模型,以匹配已创建存储的应用程序中的模型


或者,如果您已经在两个应用程序之间复制了托管对象模型,并且您只是在两个应用程序之间复制了这个模型,那么您可能需要执行一个Clean Build Product>Clean。如果要维护版本化模型,请确保将新模型设置为当前模型。

我仔细检查了以确保,但坦率地说,我将模型文件直接从“更新”应用程序复制到“主”应用程序并重命名了它。所以模型是一样的。我认为这是一种可以接受的做法。鉴于这些信息,请参阅更新的注释。我们正在尝试干净的构建。我没有运气完成了干净的构建。您能否显示为当前视图设置ManagedObjectContext的代码?我无法将其粘贴到此处,因此此处有一个指向发布代码的网站的链接。我已经向AppDelegate.m提供了x-code提供的核心数据模板,然后是LodingViewController.m,在这里我调用了商店中的fetch。