Skip to content

Commit f4f2e35

Browse files
authored
Merge pull request #47 from leeari95/release/v1.1.0
2 parents dd22e2d + 8c76121 commit f4f2e35

File tree

1,219 files changed

+3537
-2586
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,219 files changed

+3537
-2586
lines changed

Animal-Crossing-Wiki/.swiftlint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
included:
22
- Animal-Crossing-Wiki # 프로젝트 이름
33
excluded: # 린트 과정에서 무시할 파일 경로. `included`보다 우선순위 높음
4-
- Animal-Crossing-Wiki/AppDelegate.swift
5-
- Animal-Crossing-Wiki/SceneDelegate.swift
4+
- Animal-Crossing-Wiki/Resources/AppDelegate.swift
5+
- Animal-Crossing-Wiki/Resources/SceneDelegate.swift
66
type_body_length: # 타입 길이
77
warning: 200
88
error: 250

Animal-Crossing-Wiki/Animal-Crossing-Wiki.xcodeproj/project.pbxproj

Lines changed: 160 additions & 109 deletions
Large diffs are not rendered by default.

Animal-Crossing-Wiki/Animal-Crossing-Wiki/Catalog/Coordinator/CatalogCoordinator.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,23 @@ final class CatalogCoordinator: Coordinator {
2626

2727
func start() {
2828
let catalogVC = CatalogViewController()
29-
catalogVC.bind(to: CatalogViewModel(coordinator: self))
29+
catalogVC.bind(to: CatalogReactor(coordinator: self))
3030
rootViewController.addChild(catalogVC)
3131
}
3232

3333
func transition(for route: Route) {
3434
switch route {
3535
case .items(let category):
3636
let viewController = ItemsViewController()
37-
viewController.bind(to: ItemsViewModel(category: category, coordinator: self))
37+
viewController.bind(to: ItemsReactor(category: category, coordinator: self))
3838
rootViewController.pushViewController(viewController, animated: true)
3939
case .itemDetail(let item):
4040
let viewController = ItemDetailViewController()
41-
viewController.bind(to: ItemDetailViewModel(item: item, coordinator: self))
41+
viewController.bind(to: ItemDetailReactor(item: item, coordinator: self))
4242
rootViewController.pushViewController(viewController, animated: true)
4343
case .keyword(let title, let keyword):
4444
let viewController = ItemsViewController()
45-
viewController.bind(to: ItemsViewModel(coordinator: self, mode: .keyword(title: title, category: keyword)))
45+
viewController.bind(to: ItemsReactor(coordinator: self, mode: .keyword(title: title, category: keyword)))
4646
rootViewController.pushViewController(viewController, animated: true)
4747
}
4848
}

Animal-Crossing-Wiki/Animal-Crossing-Wiki/Catalog/ViewControllers/CatalogViewController.swift

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -54,29 +54,29 @@ class CatalogViewController: UIViewController {
5454
])
5555
}
5656

57-
func bind(to viewModel: CatalogViewModel) {
58-
let input = CatalogViewModel.Input(
59-
selectedCategory: tableView.rx.modelSelected((title: Category, count: Int).self).asObservable()
60-
)
61-
let output = viewModel.transform(input: input, disposeBag: disposeBag)
57+
func bind(to reactor: CatalogReactor) {
58+
self.rx.viewDidLoad
59+
.map { CatalogReactor.Action.fetch }
60+
.subscribe(onNext: { action in
61+
reactor.action.onNext(action)
62+
}).disposed(by: disposeBag)
63+
64+
tableView.rx.modelSelected((title: Category, count: Int).self)
65+
.map { CatalogReactor.Action.selectedCategory(title: $0.0) }
66+
.bind(to: reactor.action)
67+
.disposed(by: disposeBag)
68+
69+
reactor.state.map { $0.isLoading }
70+
.bind(to: activityIndicator.rx.isAnimating)
71+
.disposed(by: disposeBag)
6272

63-
output.catagories
73+
reactor.state.map { $0.categories }
6474
.bind(to: tableView.rx.items(cellIdentifier: CategoryRow.className, cellType: CategoryRow.self)) { _, item, cell in
6575
cell.setUp(
6676
iconName: item.title.iconName,
6777
title: item.title.rawValue.localized,
6878
itemCount: item.count
6979
)
7080
}.disposed(by: disposeBag)
71-
72-
tableView.rx.itemSelected
73-
.withUnretained(self)
74-
.subscribe(onNext: { owner, indexPath in
75-
owner.tableView.deselectRow(at: indexPath, animated: true)
76-
}).disposed(by: disposeBag)
77-
78-
output.isLoading
79-
.bind(to: self.activityIndicator.rx.isAnimating)
80-
.disposed(by: disposeBag)
8181
}
8282
}

Animal-Crossing-Wiki/Animal-Crossing-Wiki/Catalog/ViewControllers/ItemDetailViewController.swift

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,20 +60,36 @@ class ItemDetailViewController: UIViewController {
6060
navigationItem.enableMultilineTitle()
6161
}
6262

63-
func bind(to viewModel: ItemDetailViewModel) {
64-
keywordView = ItemKeywordView(item: viewModel.item)
63+
func bind(to reactor: ItemDetailReactor) {
64+
keywordView = ItemKeywordView(item: reactor.currentState.item)
6565
playerView = ItemPlayerView()
66-
navigationItem.title = viewModel.item.translations.localizedName()
67-
setUpSection(in: viewModel.item)
66+
navigationItem.title = reactor.currentState.item.translations.localizedName()
67+
setUpSection(in: reactor.currentState.item)
6868

69-
let input = ItemDetailViewModel.Input(
70-
didTapCheck: checkButton.rx.tap.asObservable(),
71-
didTapKeyword: keywordView?.didTapKeyword,
72-
didTapPlay: playerView?.playButton.rx.tap.asObservable()
73-
)
74-
let output = viewModel.transform(input: input, disposeBag: disposeBag)
69+
self.rx.viewDidLoad
70+
.map { ItemDetailReactor.Action.fetch }
71+
.subscribe(onNext: { action in
72+
reactor.action.onNext(action)
73+
}).disposed(by: disposeBag)
7574

76-
output.isAcquired
75+
checkButton.rx.tap
76+
.map { ItemDetailReactor.Action.check }
77+
.bind(to: reactor.action)
78+
.disposed(by: disposeBag)
79+
80+
keywordView?.didTapKeyword
81+
.compactMap { $0 }
82+
.map { ItemDetailReactor.Action.didTapKeyword($0) }
83+
.subscribe(onNext: { action in
84+
reactor.action.onNext(action)
85+
}).disposed(by: disposeBag)
86+
87+
playerView?.playButton.rx.tap
88+
.map { ItemDetailReactor.Action.play }
89+
.bind(to: reactor.action)
90+
.disposed(by: disposeBag)
91+
92+
reactor.state.map { $0.isAcquired }
7793
.observe(on: MainScheduler.instance)
7894
.withUnretained(self)
7995
.subscribe(onNext: { owner, isAcquired in
@@ -106,6 +122,7 @@ class ItemDetailViewController: UIViewController {
106122
setUpSaeson(item)
107123
setUpKeyword(item)
108124
setUpMaterials(item)
125+
setUpPlayer(item)
109126
}
110127

111128
private func setUpDetail(_ item: Item) {

0 commit comments

Comments
 (0)