gpt4 book ai didi

ios - 如何创建在安装应用程序时添加的初始 Realm 对象

转载 作者:行者123 更新时间:2023-11-29 05:50:43 25 4
gpt4 key购买 nike

假设我正在创建一个对象,它接受两个字符串并充当字典。

class WordInDictionary: Object {
@objc dynamic var word: String = ""
@objc dynamic var meaning: String = ""

如果我想在安装/更新应用程序时将一些初始对象添加到数据库中一次,我该怎么办?

还有,有没有办法让那些初始对象无法被删除?

最佳答案

“如果我想在安装/更新应用程序时将一些初始对象添加到数据库中一次,我该怎么办?”

一种选择是在 Realm 初始化附近添加一些代码,检查 Realm 中是否已有任何 WordInDictionary 对象 - 如果没有,则添加所需的默认对象。

例如

let realm = try! Realm()
if realm.objects(WordInDictionary.self).isEmpty
{
// Add required words here
}

“还有,有没有办法让那些初始对象无法被删除?”

我不知道有什么方法可以使 Realm 对象只读。您必须以某种方式在代码中实现这一点,例如有一个 isDeletable bool 值成员,对于每个用户创建的对象为 true ,对于默认成员为 false ,然后仅从 Realm 中删除这些成员。

例如您的删除代码:

func deleteWords(wordsToDelete: Results<WordInDictionary>)
{
try! realm.write
{
realm.delete(wordsToDelete.filter("isDeletable = true")
}
}

关于ios - 如何创建在安装应用程序时添加的初始 Realm 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55698655/

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