From 7bcb8f7d12e4519e0ef18258c3f34baf0f03a96c Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sat, 17 Feb 2018 15:16:30 -0800 Subject: [PATCH] =?UTF-8?q?Use=20appDelegate=E2=80=99s=20coalescing=20queu?= =?UTF-8?q?e=20for=20reloading=20visible=20cells.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Timeline/TimelineViewController.swift | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/Evergreen/MainWindow/Timeline/TimelineViewController.swift b/Evergreen/MainWindow/Timeline/TimelineViewController.swift index f4cb93907..a6234511f 100644 --- a/Evergreen/MainWindow/Timeline/TimelineViewController.swift +++ b/Evergreen/MainWindow/Timeline/TimelineViewController.swift @@ -57,7 +57,6 @@ class TimelineViewController: NSViewController, UndoableCommandRunner { } private var didRegisterForNotifications = false - private var reloadAvailableCellsTimer: Timer? private var fetchAndMergeArticlesTimer: Timer? private var sortDirection = AppDefaults.shared.timelineSortDirection { @@ -583,7 +582,7 @@ extension TimelineViewController: NSTableViewDelegate { private extension TimelineViewController { - func reloadAvailableCells() { + @objc func reloadAvailableCells() { if let indexesToReload = tableView.indexesOfAvailableRows() { reloadCells(for: indexesToReload) @@ -592,21 +591,7 @@ private extension TimelineViewController { func queueReloadAvailableCells() { - invalidateReloadTimer() - reloadAvailableCellsTimer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: false) { (timer) in - self.reloadAvailableCells() - self.invalidateReloadTimer() - } - } - - func invalidateReloadTimer() { - - if let timer = reloadAvailableCellsTimer { - if timer.isValid { - timer.invalidate() - } - reloadAvailableCellsTimer = nil - } + appDelegate.coalescingQueue.add(self, #selector(reloadAvailableCells)) } func updateTableViewRowHeight() {