Skip to content

Commit b756ace

Browse files
committed
[#69] ViewModel 클로저 weak self 캡처 및 불필요한 DispatchQueue 제거
1 parent e3e4851 commit b756ace

4 files changed

Lines changed: 15 additions & 19 deletions

File tree

Codive/Features/Comment/Presentation/ViewModel/CommentViewModel.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,8 @@ final class CommentViewModel: ObservableObject {
241241
func onDeleteTapped(commentId: Int) {
242242
dismissMenu()
243243
pendingDeleteCommentId = commentId
244-
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
245-
self.showDeleteAlert = true
244+
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { [weak self] in
245+
self?.showDeleteAlert = true
246246
}
247247
}
248248

@@ -280,16 +280,16 @@ final class CommentViewModel: ObservableObject {
280280

281281
dismissAction()
282282
let capturedInfo = info
283-
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
284-
self.navigationRouter.navigate(to: .report(target: .comment(id: commentId), commentInfo: capturedInfo))
283+
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { [weak self] in
284+
self?.navigationRouter.navigate(to: .report(target: .comment(id: commentId), commentInfo: capturedInfo))
285285
}
286286
}
287287

288288
func onBlockTapped(comment: Comment) {
289289
dismissMenu()
290290
pendingBlockComment = comment
291-
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
292-
self.showBlockAlert = true
291+
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { [weak self] in
292+
self?.showBlockAlert = true
293293
}
294294
}
295295

Codive/Features/Feed/Presentation/FeedDetail/ViewModel/FeedDetailViewModel.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,8 @@ final class FeedDetailViewModel: ObservableObject {
243243
}
244244

245245
func onDeleteTapped() {
246-
showAlertAfterDismissingMenu {
247-
self.showDeleteAlert = true
246+
showAlertAfterDismissingMenu { [weak self] in
247+
self?.showDeleteAlert = true
248248
}
249249
}
250250

@@ -275,8 +275,8 @@ final class FeedDetailViewModel: ObservableObject {
275275
}
276276

277277
func onBlockTapped() {
278-
showAlertAfterDismissingMenu {
279-
self.showBlockAlert = true
278+
showAlertAfterDismissingMenu { [weak self] in
279+
self?.showBlockAlert = true
280280
}
281281
}
282282

Codive/Features/Profile/MyProfile/Presentation/ViewModel/ProfileSettingViewModel.swift

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -174,14 +174,10 @@ final class ProfileSettingViewModel: ObservableObject {
174174
Task {
175175
do {
176176
let isDuplicated = try await profileRepository.checkNicknameDuplicate(nickname: nickname)
177-
DispatchQueue.main.async {
178-
self.nicknameCheckStatus = isDuplicated ? .duplicated : .available
179-
}
177+
self.nicknameCheckStatus = isDuplicated ? .duplicated : .available
180178
} catch {
181-
DispatchQueue.main.async {
182-
self.errorMessage = "닉네임 중복확인 실패: \(error.localizedDescription)"
183-
self.nicknameCheckStatus = .none
184-
}
179+
self.errorMessage = "닉네임 중복확인 실패: \(error.localizedDescription)"
180+
self.nicknameCheckStatus = .none
185181
}
186182
}
187183
}

Codive/Features/Profile/OtherProfile/Presentation/ViewModel/OtherProfileViewModel.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ final class OtherProfileViewModel: ObservableObject {
168168

169169
func onBlockTapped() {
170170
dismissBlockMenu()
171-
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
172-
self.showBlockAlert = true
171+
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { [weak self] in
172+
self?.showBlockAlert = true
173173
}
174174
}
175175

0 commit comments

Comments
 (0)