我不是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