From 9e85af2a7982122f55782c617fe88fe482e5e062 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Mon, 13 Mar 2023 08:58:49 +0800 Subject: [PATCH 1/2] Fixes #3910 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UITableViewAlertForLayoutOutsideViewHierarchy will no longer fire as a check has been added to make sure that the tableView’s window property is not nil before performing batch updates. --- iOS/MasterFeed/MasterFeedViewController.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/iOS/MasterFeed/MasterFeedViewController.swift b/iOS/MasterFeed/MasterFeedViewController.swift index 0409d0e8b..43cd48db6 100644 --- a/iOS/MasterFeed/MasterFeedViewController.swift +++ b/iOS/MasterFeed/MasterFeedViewController.swift @@ -564,6 +564,8 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner, Ma return } + if tableView.window == nil { return } + tableView.performBatchUpdates { if let deletes = changes.deletes, !deletes.isEmpty { tableView.deleteSections(IndexSet(deletes), with: .middle) From 34ae356cb2d18cbe207413bd667368cc83210e20 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Mon, 13 Mar 2023 13:50:49 +0800 Subject: [PATCH 2/2] Adds completion in reloadFeeds when window = nil --- iOS/MasterFeed/MasterFeedViewController.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iOS/MasterFeed/MasterFeedViewController.swift b/iOS/MasterFeed/MasterFeedViewController.swift index 43cd48db6..422c3f71f 100644 --- a/iOS/MasterFeed/MasterFeedViewController.swift +++ b/iOS/MasterFeed/MasterFeedViewController.swift @@ -564,7 +564,10 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner, Ma return } - if tableView.window == nil { return } + if tableView.window == nil { + completion?() + return + } tableView.performBatchUpdates { if let deletes = changes.deletes, !deletes.isEmpty {