我有一个非常严重的问题.该应用程序是实时的,但不幸的是它在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万个对象.
问候