IOS CoreData:旧版数据在轻量级迁移后会丢失

时间:2019-12-21 09:45:17

标签: ios swift iphone core-data migration

我不是iOS方面的专家。我现在正在实现CoreData。这是一个实时项目,我被分配为其添加一些新功能。已经设计了xcdatamodeld,具有一些实体,每个实体都有数据模型类。我需要向称为“任务”的实体之一添加新属性。遵循诸如Raywenderlich等的一些教程之后,我正在进行轻量级迁移。这是我到目前为止所做的: 1.添加了新版本的xcdatamodeld 2.向“任务”实体添加新属性 3.创建一个名为“ Task + CoreDataClass.swift”的模型类 4.在Appdelegate中添加了以下代码:

lazy var persistentContainer: NSPersistentContainer = {
           let container = NSPersistentContainer(name: "myAppName")


        let description = NSPersistentStoreDescription()
        description.shouldMigrateStoreAutomatically = true
        description.shouldInferMappingModelAutomatically = true
        container.persistentStoreDescriptions =  [description]

对于新属性,我正在处理用于将数据插入数据库的代码。 好吧,我可以插入和读取新属性的数据,并且在将旧应用程序更新为新版本时,在应用程序中没有错误也没有崩溃。但是迁移并未发生。 当我将应用程序更新到新版本时,它正在替换数据库,并且存储在数据库中的所有旧数据都丢失了。 缺少的是谁能告诉我。 Xcode 10.2,快速4

0 个答案:

没有答案