From fb1701b61d2cf10de81a9b85afca8488e2dfebf4 Mon Sep 17 00:00:00 2001 From: taipaise Date: Mon, 16 Feb 2026 13:31:06 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=A3=A8=ED=8B=B4=20=EB=93=B1=EB=A1=9D?= =?UTF-8?q?=20=EB=B0=8F=20=EC=88=98=EC=A0=95=20QA=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 세부루틴 옆 i 버튼 삭제 - 수정하기에서 세부 루틴 수정 안되는 문제 해결 --- .../View/RoutineCreationViewController.swift | 2 +- .../ViewModel/RoutineCreationViewModel.swift | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Projects/Presentation/Sources/RoutineCreation/View/RoutineCreationViewController.swift b/Projects/Presentation/Sources/RoutineCreation/View/RoutineCreationViewController.swift index 843bf6a..981b9ed 100644 --- a/Projects/Presentation/Sources/RoutineCreation/View/RoutineCreationViewController.swift +++ b/Projects/Presentation/Sources/RoutineCreation/View/RoutineCreationViewController.swift @@ -43,7 +43,7 @@ final class RoutineCreationViewController: BaseViewController( title: "반복 요일", diff --git a/Projects/Presentation/Sources/RoutineCreation/ViewModel/RoutineCreationViewModel.swift b/Projects/Presentation/Sources/RoutineCreation/ViewModel/RoutineCreationViewModel.swift index 5bc11b1..d5dbac6 100644 --- a/Projects/Presentation/Sources/RoutineCreation/ViewModel/RoutineCreationViewModel.swift +++ b/Projects/Presentation/Sources/RoutineCreation/ViewModel/RoutineCreationViewModel.swift @@ -56,6 +56,7 @@ final class RoutineCreationViewModel: ViewModel { private let checkRoutinePublisher = CurrentValueSubject(false) private let routineUseCase: RoutineUseCaseProtocol private let recommenededRoutineUseCase: RecommendedRoutineUseCaseProtocol + private let maxSubRoutineCount: Int = 3 private var deletedSubroutines = Set() private var routineId: String? private var routineType: RoutineCategoryType? @@ -143,7 +144,11 @@ final class RoutineCreationViewModel: ViewModel { executionType = .init(startAt: time ?? Date()) // TODO: - routine 엔티티 변경 이후 시작일자, 종료 일자 설정 필요 + 추천 타입 있으면 추천 타입도 설정 필요 + let periodStart = Date.convertToDate(from: routine.routineStartDate, dateType: .yearMonthDate) + let periodEnd = Date.convertToDate(from: routine.routineEndDate, dateType: .yearMonthDate) + periodStartSubject.send(periodStart) + periodEndSubject.send(periodEnd) nameSubject.send(routine.routineName) subRoutinesSubject.send(subRoutines) repeatTypeSubject.send(repeatType) @@ -182,9 +187,11 @@ final class RoutineCreationViewModel: ViewModel { var subRoutines = subRoutinesSubject.value guard index >= 0, - index < subRoutines.count + index < maxSubRoutineCount else { return } + while subRoutines.count <= index { subRoutines.append("") } + subRoutines[index] = name subRoutinesSubject.send(subRoutines) } @@ -268,6 +275,8 @@ final class RoutineCreationViewModel: ViewModel { repeatDay = [] } + let subroutines = subRoutinesSubject.value.filter { !$0.isEmpty } + let routine = RoutineCreationEntity( id: routineId, name: name, @@ -275,7 +284,7 @@ final class RoutineCreationViewModel: ViewModel { startDate: startDateString, endDate: endDateString, executionTime: executionTimeString, - subroutines: subRoutinesSubject.value, + subroutines: subroutines, recommendedRoutineType: routineType, applyDateType: updateType)