【发布时间】:2019-12-13 09:46:34
【问题描述】:
如您所见,我完全弄乱了数据类型(红色圆圈)。有没有办法将数据类型更改为整数?
编辑
我想将数据类型从 String 更改为 Int,并且我有现有数据,所以我不能从新领域开始,而只是更改 var 类型。
class Item: Object {
@objc dynamic var name: String?
@objc dynamic var itemid: String?
@objc dynamic var cateid: String?
}
【问题讨论】:
-
只需将变量类型更改为
Int。您还应该edit您的问题包括领域模型定义而不是您的数据库的屏幕截图,以使问题成为主题。 -
@DávidPásztor 我可能遗漏了一些东西或不理解这个问题,但不会更改带有数据的现有模型的原始类型会引发迁移错误?请参阅我的答案以了解我的意思。
-
@Jay OP 没有询问迁移现有数据库,只是更改数据类型 :) 当然,如果要转换现有数据库,则需要实现迁移块
-
@DávidPásztor 感谢您的澄清。我正在查看屏幕截图中显示的现有数据 - 不确定这是否是一个因素。为澄清起见,如果对象模型以任何方式被访问(如:
let items = realm.object(Item.self)),即使没有写入数据,该模型也将存在于 Realm 文件中,并且如果将 String 更改为 Int,它会抛出迁移错误。
标签: swift realm realm-database