Skip to content

Commit 6f3d5c7

Browse files
committed
refactor: 코드리뷰 반영
1 parent a0caab1 commit 6f3d5c7

3 files changed

Lines changed: 14 additions & 9 deletions

File tree

Projects/Presentation/Sources/Report/View/ReportCameraButton.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ final class ReportCameraButton: UIButton {
3131
private func configureAttribute() {
3232
backgroundColor = BitnagilColor.gray99
3333
cameraImageView.image = BitnagilIcon.cameraIcon
34-
configure(imageCount: 0)
34+
configure(imageCount: 0, maxCount: 3)
3535
}
3636

3737
private func configureLayout() {
@@ -50,8 +50,8 @@ final class ReportCameraButton: UIButton {
5050
}
5151
}
5252

53-
func configure(imageCount: Int) {
54-
let text = "\(imageCount)/3"
53+
func configure(imageCount: Int, maxCount: Int) {
54+
let text = "\(imageCount)/\(maxCount)"
5555

5656
let nsString = text as NSString
5757
let firstRange = nsString.rangeOfComposedCharacterSequence(at: .zero)

Projects/Presentation/Sources/Report/View/ReportViewController.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,8 +349,10 @@ final class ReportViewController: BaseViewController<ReportViewModel> {
349349
viewModel.output.selectedPhotoPublisher
350350
.receive(on: DispatchQueue.main)
351351
.sink { [weak self] items in
352-
self?.applySnapshot(items: items, animating: true)
353-
self?.cameraButton.configure(imageCount: items.count)
352+
guard let self else { return }
353+
self.applySnapshot(items: items, animating: true)
354+
self.cameraButton
355+
.configure(imageCount: items.count, maxCount: viewModel.output.maxPhotoCount)
354356
}
355357
.store(in: &cancellables)
356358
}
@@ -431,7 +433,7 @@ final class ReportViewController: BaseViewController<ReportViewModel> {
431433

432434
private func dismissIfNeededThen(_ action: @escaping () -> Void) {
433435
if let presentedViewController {
434-
print(presentedViewController)
436+
435437
}
436438

437439
if Thread.isMainThread {

Projects/Presentation/Sources/Report/ViewModel/ReportViewModel.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ final class ReportViewModel: ViewModel {
2626
let locationPublisher: AnyPublisher<String?, Never>
2727
let selectedPhotoPublisher: AnyPublisher<[PhotoItem], Never>
2828
let exceptionPublisher: AnyPublisher<String, Never>
29+
let maxPhotoCount: Int
2930
}
3031

3132
private(set) var output: Output
@@ -35,6 +36,7 @@ final class ReportViewModel: ViewModel {
3536
private let locationSubject = CurrentValueSubject<String?, Never>(nil)
3637
private let selectedPhotoSubject = CurrentValueSubject<[PhotoItem], Never>([])
3738
private let exceptionSubject = PassthroughSubject<String, Never>()
39+
private let maxPhotoCount = 3
3840
private var latitude: Double? = nil
3941
private var longitude: Double? = nil
4042

@@ -45,7 +47,8 @@ final class ReportViewModel: ViewModel {
4547
contentPublisher: contentSubject.eraseToAnyPublisher(),
4648
locationPublisher: locationSubject.eraseToAnyPublisher(),
4749
selectedPhotoPublisher: selectedPhotoSubject.eraseToAnyPublisher(),
48-
exceptionPublisher: exceptionSubject.eraseToAnyPublisher())
50+
exceptionPublisher: exceptionSubject.eraseToAnyPublisher(),
51+
maxPhotoCount: maxPhotoCount)
4952
}
5053

5154
func action(input: Input) {
@@ -85,8 +88,8 @@ final class ReportViewModel: ViewModel {
8588
guard let photoData else { return }
8689
var currentSelectedPhoto = selectedPhotoSubject.value
8790

88-
guard currentSelectedPhoto.count < 3 else {
89-
exceptionSubject.send("사진은 최대 3장까지 선택할 수 있습니다.")
91+
guard currentSelectedPhoto.count < maxPhotoCount else {
92+
exceptionSubject.send("사진은 최대 \(maxPhotoCount)장까지 선택할 수 있습니다.")
9093
return
9194
}
9295

0 commit comments

Comments
 (0)