 
     deinit {
         NotificationCenter.default.removeObserver(self)
+        NSObject.cancelPreviousPerformRequests(withTarget: self)
     }
     
     

    }

    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        logFeedImpression()
    }

    // MARK: - Event logging

    private func logFeedImpression() {
        guard let fetchedResultsController = fetchedResultsController else {
            return
        }

        showOfflineEmptyViewIfNeeded()
        imageScaleTransitionView = nil
        detailTransitionSourceRect = nil
        logFeedImpressionAfterDelay()
    }
    
    override func viewWillHaveFirstAppearance(_ animated: Bool) {
