Here's my code in which I want to swap child objects (origin and destination) in Realm:
class TrainSearchOptions: Object {
dynamic var origin: Station?
dynamic var destination: Station?
dynamic var date: Date?
func swapPlaces() {
guard origin != nil && destination != nil else {
fatalError()
}
swap(&origin!, &destination!)
}
}
But this crashes. Any ideas?
You need to do this inside Realm write transaction.
do {
try realm.write {
swap(&origin!, &destination!)
}
} catch let error as NSError {
print(error)
}
}