Skip to content

Commit b692a6d

Browse files
authored
Simplify UIKit list case study (#365)
Suggestion from @ryanbooker: #351
1 parent 11f215c commit b692a6d

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

Examples/CaseStudies/UIKitCaseStudies/ListsOfState.swift

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,6 @@ final class CountersTableViewController: UITableViewController {
2727
let viewStore: ViewStore<CounterListState, CounterListAction>
2828
var cancellables: Set<AnyCancellable> = []
2929

30-
var dataSource: [CounterState] = [] {
31-
didSet { self.tableView.reloadData() }
32-
}
33-
3430
init(store: Store<CounterListState, CounterListAction>) {
3531
self.store = store
3632
self.viewStore = ViewStore(store)
@@ -49,20 +45,20 @@ final class CountersTableViewController: UITableViewController {
4945
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellIdentifier)
5046

5147
self.viewStore.publisher.counters
52-
.sink(receiveValue: { [weak self] in self?.dataSource = $0 })
48+
.sink(receiveValue: { [weak self] _ in self?.tableView.reloadData() })
5349
.store(in: &self.cancellables)
5450
}
5551

5652
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
57-
self.dataSource.count
53+
self.viewStore.counters.count
5854
}
5955

6056
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
6157
-> UITableViewCell
6258
{
6359
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath)
6460
cell.accessoryType = .disclosureIndicator
65-
cell.textLabel?.text = "\(self.dataSource[indexPath.row].count)"
61+
cell.textLabel?.text = "\(self.viewStore.counters[indexPath.row].count)"
6662
return cell
6763
}
6864

0 commit comments

Comments
 (0)