File tree 4 files changed +6
-15
lines changed
4 files changed +6
-15
lines changed Original file line number Diff line number Diff line change @@ -57,14 +57,12 @@ final class GridViewController: UICollectionViewController {
57
57
58
58
func makeViewModel( from model: Model ) -> CollectionViewModel {
59
59
let peopleCellViewModels = model. people. map { GridPersonCellViewModel ( person: $0) }
60
- let anyPeopleModels = peopleCellViewModels. map { $0. toAnyViewModel ( ) }
61
60
let peopleSection = SectionViewModel ( id: " section_0_people " ,
62
- cells: anyPeopleModels )
61
+ cells: peopleCellViewModels )
63
62
64
63
let colorCellViewModels = model. colors. map { GridColorCellViewModel ( color: $0) }
65
- let anyColorModels = colorCellViewModels. map { $0. toAnyViewModel ( ) }
66
64
let colorSection = SectionViewModel ( id: " section_1_colors " ,
67
- cells: anyColorModels )
65
+ cells: colorCellViewModels )
68
66
69
67
return CollectionViewModel ( sections: [ peopleSection, colorSection] )
70
68
}
Original file line number Diff line number Diff line change @@ -41,14 +41,12 @@ final class ListViewController: UICollectionViewController {
41
41
42
42
func makeViewModel( from model: Model ) -> CollectionViewModel {
43
43
let peopleCellViewModels = model. people. map { ListPersonCellViewModel ( person: $0) }
44
- let anyPeopleModels = peopleCellViewModels. map { $0. toAnyViewModel ( ) }
45
44
let peopleSection = SectionViewModel ( id: " section_0_people " ,
46
- cells: anyPeopleModels )
45
+ cells: peopleCellViewModels )
47
46
48
47
let colorCellViewModels = model. colors. map { ListColorCellViewModel ( color: $0) }
49
- let anyColorModels = colorCellViewModels. map { $0. toAnyViewModel ( ) }
50
48
let colorSection = SectionViewModel ( id: " section_1_colors " ,
51
- cells: anyColorModels )
49
+ cells: colorCellViewModels )
52
50
53
51
return CollectionViewModel ( sections: [ peopleSection, colorSection] )
54
52
}
Original file line number Diff line number Diff line change @@ -54,10 +54,6 @@ extension CellViewModel {
54
54
}
55
55
56
56
public func didSelect( with controller: UIViewController ) { }
57
-
58
- public func toAnyViewModel( ) -> AnyCellViewModel {
59
- AnyCellViewModel ( self )
60
- }
61
57
}
62
58
63
59
/// A type-erased cell view model.
Original file line number Diff line number Diff line change @@ -19,10 +19,9 @@ public struct SectionViewModel: DiffableViewModel {
19
19
20
20
public let cellViewModels : [ AnyCellViewModel ]
21
21
22
- public init ( id: UniqueIdentifier ,
23
- cells: [ AnyCellViewModel ] ) {
22
+ public init < T: CellViewModel > ( id: UniqueIdentifier , cells: [ T ] ) {
24
23
self . id = id
25
- self . cellViewModels = cells
24
+ self . cellViewModels = cells. map { AnyCellViewModel ( $0 ) }
26
25
}
27
26
}
28
27
You can’t perform that action at this time.
0 commit comments