在允许App更新的同时重命名CoreData类

时间:2011-06-21 09:11:42

标签: database xcode cocoa-touch core-data

我在开始编写iPhone应用程序时没有为我的类名添加前缀,因此产生了错误,因此存在冲突(一个名为Category的CoreData类)。该项目构建正常,直到最近更新Xcode,现在才意识到错误。

是否可以在更新后保留工作系统的同时重命名CoreData类? 如果我将新版本添加到Datamodel并重命名该类,则应用程序会更新,但似乎删除了旧表并创建了一个新的(空)表。显然,所有链接随后都被打破了。我想在进行更改时保留数据。

在Java EE中,如果我没记错的话,你可以否决表名,因此我可以坚持使用旧的类名来命名表。 CoreData有这种可能吗?

提前致谢!我必须找到一种更新数据库的方法,而不会在现场破坏所有应用程序。

1 个答案:

答案 0 :(得分:3)

实际上,我在Apple上记录得非常好:

  

如果您重命名实体或财产,   您可以在中设置重命名标识符   目的地模型的名称   相应的财产或实体   在源模型中。你通常设置   使用的重命名标识符   Xcode数据建模工具(适用于其中之一)   NSEntityDescription或   NSPropertyDescription对象)。在   Xcode,重命名标识符在   详细信息窗格的“用户信息”窗格,   在版本哈希修饰符下面(参见   Xcode工具中的浏览器视图   核心数据)。 (Mac OS X Developer Library

但实际上对我来说,它似乎只是为了改变Classname而只留下模型的其余部分。