天天看点

Core Data浅谈系列之四 : 数据模型的版本变迁

继上一篇文章末尾提到的,一支队伍可以添加多名球员,不过一名球员只能属于一支队伍中,这分别对应着core data中一对多和一对一的属性关系:

Core Data浅谈系列之四 : 数据模型的版本变迁
Core Data浅谈系列之四 : 数据模型的版本变迁

如上两图,是在team实体里面添加了一个players关系,指向player实体,可以一支球队关联多名球员,并且最多只允许关联15名球员。

同样地,也为player实体添加team关系,指向team实体:

Core Data浅谈系列之四 : 数据模型的版本变迁

一名球员只能关联一支球队,并且让这个关系成双向的,即一个player对象属于某支球队时,该球队的players属性就自动关联该player对象。

做完以上对表关系的修改,再次运行程序。

oops,运行不起来——

这是由于我们刚才做了一番修改,persistentstorecoordinator无法适应新的数据模型。

当开启一个新版本时,如果数据模型发生变动,我们需要创建一个新版本使用的数据模型:

Core Data浅谈系列之四 : 数据模型的版本变迁

并将其设置为当前版本使用的数据模型:

Core Data浅谈系列之四 : 数据模型的版本变迁
Core Data浅谈系列之四 : 数据模型的版本变迁

so,我们刚才发生的变动都应该应用在cdnba 2.xcdatamodel上。

除此之外,还需要在persistentstorecoordinator添加存储文件时设置一个选项:

做完上面的工作,再跑一遍demo。

brief talk about core data series, part 4 : versioning of the data model

jason lee @ hangzhou

blog : http://blog.csdn.net/jasonblog

weibo : http://weibo.com/jasonmblog