From 55e4966bd1aa609860d485ac3cd3e29b8270f526 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Wed, 9 Feb 2022 10:04:26 -0500 Subject: [PATCH] Fix crash when trying to reload/delete items not in current ItemsViewController --- Reader/Screens/Items/ItemsViewController.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Reader/Screens/Items/ItemsViewController.swift b/Reader/Screens/Items/ItemsViewController.swift index ee48b86..c64bb2a 100644 --- a/Reader/Screens/Items/ItemsViewController.swift +++ b/Reader/Screens/Items/ItemsViewController.swift @@ -104,10 +104,12 @@ class ItemsViewController: UIViewController { var snapshot = self.dataSource.snapshot() if let updated = updated { - snapshot.reconfigureItems(updated.compactMap { ($0 as? Item)?.objectID }) + let knownUpdated = updated.compactMap { ($0 as? Item)?.objectID }.filter { snapshot.itemIdentifiers.contains($0) } + snapshot.reconfigureItems(knownUpdated) } if let deleted = deleted { - snapshot.deleteItems(deleted.compactMap { ($0 as? Item)?.objectID }) + let knownDeleted = deleted.compactMap { ($0 as? Item)?.objectID }.filter { snapshot.itemIdentifiers.contains($0) } + snapshot.deleteItems(knownDeleted) } if let insertedItems = insertedItems {