相关疑难解决方法(0)

核心数据更改属性从Integer 16到Integer 32

我有一个非常严重的问题.该应用程序是实时的,但不幸的是它在iOS 5上失败了,我需要发布更新.

事情是少数实体的ID列在Integer 16中,但我需要更改为Integer 32.

这显然是我的错,这个模型是很久以前创建的,它只是被重用了.令我惊讶的是(现在)在iOS 4上,核心数据中的整数16可以很容易地保持数字大到500 000(错误?),但它现在不能正常工作 - 它给了我无效的数字.

应用程序是实时的,它是成功的,Core Data也用于保持用户的分数,成就等,我不想删除,迫使他们重新安装应用程序.简单地将不同实体中的十个属性从Integer 16更改为Integer 32的最佳方法是什么?

当然,我知道这些属性的名称和实体.

如果我只是更改xcdatamodeld文件中这些属性的Type列,那么对于新用户,它将起作用,但现有用户的文档文件夹中已经有sqlite文件.我相信我需要以某种方式更改持久性商店协调员.

而且你对性能有什么看法,有大约10个属性将新闻从16改为32,但Core Data在通常情况下有超过10万个对象.

问候

xcode core-data core-data-migration

3
推荐指数
2
解决办法
6896
查看次数

标签 统计

core-data ×1

core-data-migration ×1

xcode ×1