Skip to content

Commit

Permalink
Use shortcut version in demo app
Browse files Browse the repository at this point in the history
  • Loading branch information
ishkawa committed Sep 12, 2018
1 parent 2a3aa73 commit eead977
Showing 1 changed file with 10 additions and 28 deletions.
38 changes: 10 additions & 28 deletions Demo/ViewController/VenueDetailViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,25 @@ import UIKit
import DataSourceKit

final class VenueDetailViewController: UIViewController {
enum CellDeclaration: Equatable {
case outline(Venue)
case sectionHeader(String)
case review(Review)
case relatedVenue(Venue)
}

struct Data: CellsDeclarator {
var venue: Venue
var reviews: [Review]
var relatedVenues: [Venue]

func declareCells(_ cell: (CellDeclaration) -> Void) {
cell(.outline(venue))

func declareCells(_ cell: (CellBinder) -> Void) {
cell(VenueOutlineCell.makeBinder(value: venue))
if !reviews.isEmpty {
cell(.sectionHeader("Reviews"))
cell(SectionHeaderCell.makeBinder(value: "Reviews"))
for review in reviews {
cell(.review(review))
cell(ReviewCell.makeBinder(value: review))
}
}

if !relatedVenues.isEmpty {
cell(.sectionHeader("Related Venues"))
cell(SectionHeaderCell.makeBinder(value: "Related Venues"))
for relatedVenue in relatedVenues {
cell(.relatedVenue(relatedVenue))
cell(RelatedVenueCell.makeBinder(value: relatedVenue))
}
}
}
Expand All @@ -48,19 +41,8 @@ final class VenueDetailViewController: UIViewController {
}

@IBOutlet private weak var collectionView: UICollectionView!

private let dataSource = CollectionViewDataSource<CellDeclaration> { cellDeclaration in
switch cellDeclaration {
case .outline(let venue):
return VenueOutlineCell.makeBinder(value: venue)
case .sectionHeader(let title):
return SectionHeaderCell.makeBinder(value: title)
case .review(let review):
return ReviewCell.makeBinder(value: review)
case .relatedVenue(let venue):
return RelatedVenueCell.makeBinder(value: venue)
}
}

private let dataSource = CollectionViewDataSource()

private var data: Data! {
didSet {
Expand Down

0 comments on commit eead977

Please sign in to comment.