在项目编译完成后,我需要在SwiftData中建模的类中添加一个新属性,并且一些数据已经保存到底层容器中。但是当我尝试使用修改后的数据模型构建和运行项目时,应用程序崩溃了。例如,数据模型如下所示:
import Foundation
import SwiftData
@Model
final class TileView {
@Attribute (.unique) var tileName
var tileLegth: Double
var tileWidth: Double
var tilePatternName: String
// var tileType: String // This is later added
init(tileName: String, tileLength: Double, tileWidth: Double, tilePatternName: Double/*, tileType: String*/) {
self.tileName = tileName
self.tileLength = tileLength
self.tilePatternName = tilePatternName
// self.tileType = tileType
}
}
字符串
如果在应用程序最初构建和运行后,上述代码片段中的注解代码被取消注解,则应用程序在随后构建和运行时会崩溃。是否有安全的方法来修改(例如添加或删除属性)上述现有模型?非常感谢。
1条答案
按热度按时间dly7yett1#
问题解决了。这是因为我没有迁移@Relationship var,所以运行时无法在模型的新版本中找到它。对不起,我没有将@Relationship var放在我在帖子中提供的代码片段中,因为我不知道是新版本的初始化器中缺少@Relationship var导致了问题。
感谢您的参与和建议。