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

时间:2019-04-15 23:45:35

标签: ios swift realm

说我正在创建一个对象,该对象需要两个字符串,并且像字典一样工作。

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

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

还有办法做到这一点,以便仅删除那些初始对象吗?

1 个答案:

答案 0 :(得分:0)

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

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

例如

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

“还有,有一种方法可以使那些初始对象不能被删除吗?”

我不知道将领域对象设为只读的方法。您必须以某种方式在代码中实现此功能,例如有一个isDeletable布尔成员,每个用户创建的对象都是true,默认成员是false,然后仅从领域中删除它们。

例如输入您的删除代码:

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