Implemented the "numberOfSectionsInData" property and the "numberOfDataItems(in: )" and "dataItem(at: )" functions in the LocationsListViewModel view model.

This commit is contained in:
Javier Cicchelli 2023-04-12 16:35:57 +02:00
parent 985e8ffe8e
commit ea9fea98b3

View File

@ -48,6 +48,7 @@ extension LocationsListViewModel: LocationsListViewModeling {
// MARK: Properties
var viewStatusPublisher: Published<LocationsListViewStatus>.Publisher { $viewStatus }
var numberOfSectionsInData: Int { fetchedResultsController.sections?.count ?? 0 }
// MARK: Functions
@ -71,6 +72,21 @@ extension LocationsListViewModel: LocationsListViewModeling {
}
}
func numberOfDataItems(in section: Int) -> Int {
guard
let sections = fetchedResultsController.sections,
sections.endIndex > section
else {
return 0
}
return sections[section].numberOfObjects
}
func dataItem(at indexPath: IndexPath) -> Location {
fetchedResultsController.object(at: indexPath)
}
}
// MARK: - Enumerations