Skip to content

Instantly share code, notes, and snippets.

@laevandus
Created April 17, 2022 11:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save laevandus/698fe02f73153c7f7c18079043c71a63 to your computer and use it in GitHub Desktop.
Save laevandus/698fe02f73153c7f7c18079043c71a63 to your computer and use it in GitHub Desktop.
extension ListViewController {
@MainActor final class ViewModel {
let palettes: [Palette]
init(palettes: [Palette]) {
self.palettes = palettes
}
func reloadContent(in dataSource: UICollectionViewDiffableDataSource<String, PaletteColor>) {
var snapshot = NSDiffableDataSourceSnapshot<String, PaletteColor>()
snapshot.appendSections(palettes.map(\.name))
palettes.forEach({ palette in
snapshot.appendItems(palette.colors, toSection: palette.name)
})
dataSource.apply(snapshot)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment