我班只有4个领域:
class List: Object {
dynamic var name = ""
dynamic var date = ""
dynamic var notes = ""
dynamic var info = ""
}
Run Code Online (Sandbox Code Playgroud)
我想再增加2个:
dynamic var website = ""
dynamic var telephone = ""
Run Code Online (Sandbox Code Playgroud)
如果我将这些字段添加到类中,那么由于新字段,Realm会给我一个错误.如何在保存所有用户数据的同时更新此类?
当 Realm 使用您的模型创建内部结构时,就会发生这种情况。每次您需要更改模型(经常发生)时,您都需要将当前模型迁移到新模型。
这样做的方法是:
将其添加到应用程序委托中的应用程序中(application:didFinishLaunchingWithOptions:)
let config = Realm.Configuration(
schemaVersion: 1, //Increment this each time your schema changes
migrationBlock: { migration, oldSchemaVersion in
if (oldSchemaVersion < 1) {
//If you need to transfer any data
//(in your case you don't right now) you will transfer here
}
})
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
Run Code Online (Sandbox Code Playgroud)现在,每次更改架构时,只需向 schemaVersion 添加一个即可。当然,迁移可能会比较棘手,但对于您的模型来说,这可以解决问题。
有关更多信息,请参阅Realm Swift 文档
| 归档时间: |
|
| 查看次数: |
4576 次 |
| 最近记录: |