Index check before switching tabs.

This commit is contained in:
Hedden, Kyle Matthew 2023-12-01 14:12:04 -05:00
parent 547c3ad2a4
commit 6e5980af64

View File

@ -84,16 +84,22 @@ import VDSColorTokens
// MARK: - TabBarProtocol
@MainActor
public func highlightTab(at index: Int) {
guard let newSelectedItem = items?[index] else { return }
guard let items = items, index < items.count else {
MVMCoreLoggingHandler.shared()?.addError(toLog: MVMCoreErrorObject(title: nil, messageToLog: "Tab index \(index) is greater than the number of tabs available (\(items?.count ?? 0).", code: 0, domain: ErrorDomainSystem, location: #function)!)
return
}
tabModel.selectedTab = index
selectedItem = newSelectedItem
selectedItem = items[index]
}
@MainActor
public func selectTab(at index: Int) {
guard let newSelectedItem = items?[index] else { return }
selectedItem = newSelectedItem
tabBar(self, didSelect: newSelectedItem)
guard let items = items, index < items.count else {
MVMCoreLoggingHandler.shared()?.addError(toLog: MVMCoreErrorObject(title: nil, messageToLog: "Tab index \(index) is greater than the number of tabs available (\(items?.count ?? 0).", code: 0, domain: ErrorDomainSystem, location: #function)!)
return
}
selectedItem = items[index]
tabBar(self, didSelect: items[index])
}
public func currentTabIndex() -> Int { tabModel.selectedTab }