在我的应用程序中,我有一个继承自RLMObject的CustomUser。
我想知道如何仅为此CustomUser对象存储1个对象?
func saveUser() {
let realm = RLMRealm.defaultRealm()
realm.beginWriteTransaction()
realm.addObject(customUser)
realm.commitWriteTransaction()
}
此代码每次运行时都会向数据库写入一个额外的对象。代码多次运行后导致数据库中的许多对象。
有什么想法吗?
答案 0 :(得分:2)
最简单的方法是在继续并添加新对象之前查询Realm以检查是否有任何先前保存的对象。
func saveUser() {
let realm = RLMRealm.defaultRealm()
if CustomUser.allObjects().count > 0 {
return
}
realm.beginWriteTransaction()
realm.addObject(customUser)
realm.commitWriteTransaction()
}
在更高级的说明中,如果要显式引用单个CustomUser
对象,可以使用Realm的主键功能直接查询该特定对象。有关如何设置类以使用主键的Realm's website的更多信息(在Objective-C部分中,因为它看起来像是在使用Objective-C桥接版本)。