APP-iOS3rd / PJ3T2_Mymory

멋쟁이사자처럼 iOS 앱스쿨 3기 팀 프로젝트
10 stars 3 forks source link

[Bug]: 작성하기 후 마이페이지 접근 시 무한로딩이 발생하는 경우를 해결하였습니다. #223

Closed Seobe95 closed 7 months ago

Seobe95 commented 7 months ago

PR 가이드라인

PR Checklist

PR 날릴 때 체크 리스트

PR Type

어떤 종류의 PR인가요?

연관되는 issue 정보를 알려주세요

Issue Number: N/A

PR 설명하기

작성하기 후 마이페이지 접근 시 무한로딩이 발생하는 경우를 해결하였습니다.

어떻게 작동하나요? code 기반으로 설명해주세요

LoadingManager를 이용하여 로딩상태를 업데이트하는 코드를 추가했습니다.

func saveMemo() {
        Task{@MainActor in

            do {
                loading = true
                guard let user = AuthService.shared.currentUser else {
                    loading = false
                    LoadingManager.shared.phase = .fail(msg: "로그인 중이 아님") // 추가!
                    return
                }
                let newMemo = PostMemoModel(
                    userUid: user.id ?? "",
                    userCoordinateLatitude: Double(userCoordinate!.latitude),
                    userCoordinateLongitude: Double(userCoordinate!.longitude),
                    userAddress: memoAddressText,
                    userAddressBuildingName: memoAddressBuildingName,
                    memoTitle: memoTitle,
                    memoContents: memoContents,
                    isPublic: !memoShare,
                    memoTagList: memoSelectedTags,
                    memoLikeCount: 0,
                    memoSelectedImageData: memoSelectedImageData,
                    memoCreatedAt: Date().timeIntervalSince1970
                )

                do {
                    try await MemoService.shared.uploadMemo(newMemo: newMemo)
                    loading = false
                    LoadingManager.shared.phase = .success
                }
                dismissPublisher.send(true)
                resetMemoFields()
                loading = false
                LoadingManager.shared.phase = .success // 추가!
            } catch {
                // 오류 처리
                loading = false
                LoadingManager.shared.phase = .fail(msg: error.localizedDescription) // 추가!
                print("Error signing in: \(error.localizedDescription)")
            }
        }
    }

가능하다면 추가해주세요

변경 사항 스크린샷 혹은 화면 녹화

스크린샷

Test 여부

Test 정보

//예시
let testDatas: [TestData] = [.init(...),...]

기타 언급해야 할 사항들