Der Teilweise on Nostr: npub1canhd…q0fm9 npub17rht5…h2g9f filter und forEach laufen gleichzeitig (bzw. ...
npub1canhdnyarz4thu7zgzz3hv3nw0al770etgjjawqukxuw82ceuz6qmq0fm9 (npub1can…0fm9) npub17rht5ft9h7thm03fvzly5c5e2yt7tra4jaz477luhy0jjm3n3kkqzh2g9f (npub17rh…2g9f) filter und forEach laufen gleichzeitig (bzw. immer, wenn filter ein Objekt ausspuckt, wird forEach direkt aufgerufen). Daher löscht der Body von forEach das erste Objekt, bevor filter beendet ist.
filter ist vermutlich etwas in der Art:
for i in 0..<nodes.count { // Anzahl vor dem Löschen!
if callback(nodes[i]) {
emit(nodes[i])
}
}
Gegentest:
try realm.write {
let tmp = self.nodes.filter { nodes.contains(object: $0) }
tmp.forEach { realm.delete($0) }
}
filter ist vermutlich etwas in der Art:
for i in 0..<nodes.count { // Anzahl vor dem Löschen!
if callback(nodes[i]) {
emit(nodes[i])
}
}
Gegentest:
try realm.write {
let tmp = self.nodes.filter { nodes.contains(object: $0) }
tmp.forEach { realm.delete($0) }
}