说我正在创建一个对象,该对象需要两个字符串,并且像字典一样工作。
class WordInDictionary: Object {
@objc dynamic var word: String = ""
@objc dynamic var meaning: String = ""
如果我想让一些初始对象在应用程序安装/更新后立即添加到数据库中,该怎么办?
还有办法做到这一点,以便仅删除那些初始对象吗?
答案 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")
}
}