From 61916e7c380515774b3494fdfc571b328792dc34 Mon Sep 17 00:00:00 2001 From: "Hedden, Kyle Matthew" Date: Wed, 15 Nov 2023 17:14:51 -0500 Subject: [PATCH 1/2] Move hightlightTab to @MainActor to prevent block crash. --- .../HorizontalCombinationViews/TabBar.swift | 18 ++++++++---------- .../Atomic/Protocols/TabBarProtocol.swift | 4 ++-- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift index 5caedcf0..990add73 100644 --- a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift +++ b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift @@ -82,20 +82,18 @@ import VDSColorTokens } // MARK: - TabBarProtocol + @MainActor public func highlightTab(at index: Int) { - MVMCoreDispatchUtility.performBlock(onMainThread: { - guard let newSelectedItem = self.items?[index] else { return } - self.tabModel.selectedTab = index - self.selectedItem = newSelectedItem - }) + guard let newSelectedItem = self.items?[index] else { return } + self.tabModel.selectedTab = index + self.selectedItem = newSelectedItem } + @MainActor public func selectTab(at index: Int) { - MVMCoreDispatchUtility.performBlock(onMainThread: { - guard let newSelectedItem = self.items?[index] else { return } - self.selectedItem = newSelectedItem - self.tabBar(self, didSelect: newSelectedItem) - }) + guard let newSelectedItem = self.items?[index] else { return } + self.selectedItem = newSelectedItem + self.tabBar(self, didSelect: newSelectedItem) } public func currentTabIndex() -> Int { tabModel.selectedTab } diff --git a/MVMCoreUI/Atomic/Protocols/TabBarProtocol.swift b/MVMCoreUI/Atomic/Protocols/TabBarProtocol.swift index 1ee147f7..b57b7cdd 100644 --- a/MVMCoreUI/Atomic/Protocols/TabBarProtocol.swift +++ b/MVMCoreUI/Atomic/Protocols/TabBarProtocol.swift @@ -13,10 +13,10 @@ import Foundation var delegateObject: MVMCoreUIDelegateObject? { get set } /// Should visually select the given tab index. - @objc func highlightTab(at index: Int) + @MainActor func highlightTab(at index: Int) /// Should select the tab index. As if the user selected it. - @objc func selectTab(at index: Int) + @MainActor func selectTab(at index: Int) /// Returns the current tab @objc func currentTabIndex() -> Int From 4687d7d344adde65891185a37230a80e97bdd0b3 Mon Sep 17 00:00:00 2001 From: "Hedden, Kyle Matthew" Date: Wed, 15 Nov 2023 17:30:18 -0500 Subject: [PATCH 2/2] self cleanups --- .../HorizontalCombinationViews/TabBar.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift index 990add73..605acc3d 100644 --- a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift +++ b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabBar.swift @@ -84,16 +84,16 @@ import VDSColorTokens // MARK: - TabBarProtocol @MainActor public func highlightTab(at index: Int) { - guard let newSelectedItem = self.items?[index] else { return } - self.tabModel.selectedTab = index - self.selectedItem = newSelectedItem + guard let newSelectedItem = items?[index] else { return } + tabModel.selectedTab = index + selectedItem = newSelectedItem } @MainActor public func selectTab(at index: Int) { - guard let newSelectedItem = self.items?[index] else { return } - self.selectedItem = newSelectedItem - self.tabBar(self, didSelect: newSelectedItem) + guard let newSelectedItem = items?[index] else { return } + selectedItem = newSelectedItem + tabBar(self, didSelect: newSelectedItem) } public func currentTabIndex() -> Int { tabModel.selectedTab }