是否可以将对象数组保存到 Realm
?每当我对数组进行更改时,都应将其保存到Realm .
我目前的解决方案是使用 for loop
保存对象的对象 . 对于追加/修改对象,调用 save()
将执行该作业,但不是从我删除对象时 .
class CustomObject: Object {
dynamic var name = ""
dynamic var id = 0
override static func primaryKey() -> String? {
return "id"
}
}
struct RealmDatabase {
static var sharedInstance = RealmDatabase()
var realm: Realm!
let object0 = CustomObject()
let object1 = CustomObject()
var array = [object0, object1]
init() {
self.realm = try! Realm()
}
func save() {
for object in self.array {
try! self.realm.write {
self.realm.add(object, update: true)
}
}
}
}
2 回答
要保存对象列表,您必须使用Realm
List
,而不是Swift数组 .然后,您可以添加元素:
看看the official docs的to many relationships和Collections部分 .
Swift 3
然后调用函数传递一个领域'对象'的数组:
注意:realm.add(objects)具有与单个对象相同的add函数语法,但如果使用自动完成检查,则会看到:add(objects:Sequence)