2013-03-25 112 views
-3

研究员!核心数据 - 多个实体

我有一个应用程序使用核心数据创建一个实体(我们称之为“Entity1”)和一个属性。我实现了它,并且应用程序运行完美。它正在读取,写入和删除数据。

因此,我创建了第二个实体(“Entity2”),但我没有实现任何与“Entity2”相关的代码。但是,“Entity1”和“Entity2”都不再运行。

之后,我删除了“Entity2”,并且该应用程序再次开始工作。

你能告诉我是否有任何秘密在Core Data中创建多个实体。

+0

'既不是'Entity1'也不是'Entity2'正在运行' - 这意味着什么? – matt 2013-03-25 15:04:01

+0

我的建议是,你阅读了Core Data,因为我相信你错过了一些关于它是什么以及如何使用它的基本思想。我首先看看苹果文档http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/cdProgrammingGuide.html,并从那里分支出一些基本的教程,可以引导你通过如何在基础项目中使用它。实体并不是“运行”的东西,因此这个问题实际上并没有太多意义。 – 2013-03-25 15:09:01

+0

好的。忍受着我。我是新来的。当我说实体不工作时,我想说当应用程序尝试访问与实体相关的代码部分时,该应用程序停止运行。谢谢。 – IamInTrouble 2013-03-25 15:59:28

回答

1

这是因为你的模型文件(xcdatamodel)和你现有的数据库不匹配。尝试删除您的应用程序在模拟器或dev设备上,然后再次构建和运行,应该没问题。

而且,这只是为了发展。当你发布你的应用程序,然后想要更改数据库模型时,不可能要求用户“删除你的应用程序并重新安装”。当这个时候,你需要一个Core Data Model Versioning and Data Migration。不过那是另一回事了。

我想你应该从核心数据的基础开始。请参阅this tutorial以熟悉它。 :)

+0

虽然我的问题已经结束,但我真的很想感谢您的提示,理解和亲活动。我只需要从模拟器中删除应用程序并再次运行它。现在它运行完美。 – IamInTrouble 2013-03-26 03:31:49