From df02a46c62636c0ae4da70ea87755d4906757416 Mon Sep 17 00:00:00 2001 From: Scott Pfeil Date: Tue, 4 Jun 2024 10:48:47 -0400 Subject: [PATCH] Tableview and collection view optimizations --- MVMCoreUI/Atomic/Organisms/Carousel/Carousel.swift | 1 + .../BaseControllers/ThreeLayerTableViewController.swift | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/MVMCoreUI/Atomic/Organisms/Carousel/Carousel.swift b/MVMCoreUI/Atomic/Organisms/Carousel/Carousel.swift index 12399292..6ed0c584 100644 --- a/MVMCoreUI/Atomic/Organisms/Carousel/Carousel.swift +++ b/MVMCoreUI/Atomic/Organisms/Carousel/Carousel.swift @@ -177,6 +177,7 @@ open class Carousel: View { if let originalModel, carouselModel.isDeeplyVisuallyEquivalent(to: originalModel) { // Prevents a carousel reset while still updating the cell backing data through reconfigureItems. MVMCoreLoggingHandler.shared()?.handleDebugMessage("[\(Self.self)] Model is visually equivalent. Skipping rebuild...") + prepareMolecules(with: carouselModel) FormValidator.setupValidation(for: carouselModel, delegate: delegateObject?.formHolderDelegate) updateModelIndex() // Ensure the new model indexing matches the old. pagingView?.currentIndex = pageIndex // Trigger a paging view render. diff --git a/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift b/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift index 9ae3b1c4..d7c60545 100644 --- a/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift +++ b/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift @@ -56,13 +56,14 @@ open class ThreeLayerTableViewController: ProgrammaticTableViewController, Rotor } open override func updateUI(for molecules: [MoleculeModelProtocol]? = nil) { + let isFirstRender = self.isFirstRender super.updateUI(for: molecules) guard molecules == nil else { return } - + createViewForTableHeader() createViewForTableFooter() - tableView?.reloadData() + // Reloading the table is handled in updateViews. } override open func viewDidLoad() {