gpt4 book ai didi

ios - 迁移期间删除类和对象

转载 作者:行者123 更新时间:2023-11-29 10:26:00 26 4
gpt4 key购买 nike

现在我有两个数据模型:

class Habit: Object{
...
...

dynamic var owner: HabitList?
}

class HabitList: Object{

dynamic var habits = List<Habit>()
}

我想删除 HabitList 类和 Habit 类的 owner,我不确定我是否理解如何使用 deletedeleteData 以及什么是 MigrationObject。我需要使用 migration.enumerate 吗?

最佳答案

(免责声明:我为 Realm 工作)

如果您想完全删除HabitListowner 对象中的数据,那么您需要做的事情很少。 :)

首先,只需删除owner 对象和HabitList 类定义即可将它们从您的项目中移除。之后,从 Realm 0.95(我们上周发布的版本。如果您还没有升级,我建议您升级!),有一种处理迁移的新方法:

let config = Realm.Configuration(
//You need to increment the version everytime you change your object schema (starts at 0)
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in
//If you want to preserve any data, you can do it here, otherwise just leave it blank.
}
)

Realm.Configuration.defaultConfiguration = config

let realm = Realm() //The database will now be migrated!

您需要做的就是创建一个 Realm 配置对象,设置一个新的架构版本(让 Realm 知道您已经更改了对象的架构),然后指定一个迁移 block (如果您不这样做,可以将其留空)不想保留您已删除的属性中的任何信息),然后将配置对象传递给 Realm。下次您调用 Realm() 时,Realm 将使用新架构自动更新您的 Realm 文件。

有关 Realm docs page 的更多信息.如果您需要更多说明,请告诉我!

关于ios - 迁移期间删除类和对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32290451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com