@@ -11,15 +11,13 @@ import RxSwift
1111import RxCocoa
1212
1313final class TodoWritePage : BasePage {
14- // ✅ 외부 노출용 Signal
15- var todoChanged : Signal < ( String ? , Int ) > { _todoChanged. asSignal ( ) }
14+ var todoChanged : Signal < ( String , Int ) > { _todoChanged. asSignal ( ) }
1615 var addTap : Signal < Int > { _addTap. asSignal ( ) }
1716 var saveTap : Signal < Void > { _saveTap. asSignal ( ) }
1817 var removeTap : Signal < Int > { _removeTap. asSignal ( ) }
1918 var keyboardState : Signal < Bool > { _keyboardState. asSignal ( ) }
2019
21- // ✅ 내부 Relay
22- private let _todoChanged = PublishRelay < ( String ? , Int ) > ( )
20+ private let _todoChanged = PublishRelay < ( String , Int ) > ( )
2321 private let _addTap = PublishRelay < Int > ( )
2422 private let _saveTap = PublishRelay < Void > ( )
2523 private let _removeTap = PublishRelay < Int > ( )
@@ -135,8 +133,8 @@ final class TodoWritePage: BasePage {
135133 todoTableView. dataSource = self
136134 todoTableView. register ( TodoWriteTableViewCell . self, forCellReuseIdentifier: TodoWriteTableViewCell . identifier)
137135
138- // 텍스트 변경 → ViewModel로 전달 + 즉시 UI 갱신
139136 todoTextField. rx. text
137+ . orEmpty
140138 . skip ( 1 )
141139 . do ( onNext: { [ weak self] _ in
142140 guard let self else { return }
@@ -146,7 +144,6 @@ final class TodoWritePage: BasePage {
146144 . bind ( to: _todoChanged)
147145 . disposed ( by: disposeBag)
148146
149- // 텍스트 길이 제한 (20자)
150147 todoTextField. rx. controlEvent ( . editingChanged)
151148 . withLatestFrom ( todoTextField. rx. text. orEmpty)
152149 . subscribe ( onNext: { [ weak self] text in
@@ -168,19 +165,16 @@ final class TodoWritePage: BasePage {
168165 . bind ( to: _saveTap)
169166 . disposed ( by: disposeBag)
170167
171- // Return 키 입력 시 (textFieldShouldReturn 대체)
172168 todoTextField. rx. controlEvent ( . editingDidEndOnExit)
173169 . map { self . todoMaxCount }
174170 . bind ( to: _addTap)
175171 . disposed ( by: disposeBag)
176-
177- // 키보드 등장 (textFieldDidBeginEditing 대체)
172+
178173 NotificationCenter . default. rx. notification ( UIResponder . keyboardWillShowNotification)
179174 . map { _ in true }
180175 . bind ( to: _keyboardState)
181176 . disposed ( by: disposeBag)
182177
183- // 키보드 사라짐 (textFieldDidEndEditing 대체)
184178 NotificationCenter . default. rx. notification ( UIResponder . keyboardWillHideNotification)
185179 . map { _ in false }
186180 . bind ( to: _keyboardState)
0 commit comments