From 16548c51b850a082569565b8443271d2d81c104f Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Wed, 11 Jan 2023 22:03:56 +0900 Subject: [PATCH 1/7] =?UTF-8?q?[Chore]=20#84=20-=20=EC=8A=A4=ED=83=AC?= =?UTF-8?q?=ED=94=84=20=EC=9D=B4=EB=A6=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyPage/VC/InfoVC/GoalRewardInfoVC.swift | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift index 472deefd..34ebc8db 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift @@ -14,18 +14,18 @@ final class GoalRewardInfoVC: UIViewController { // MARK: - Properties var stampList: [GoalRewardInfoModel] = [ - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC1, stampStandard: "그리기 스타터"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC2, stampStandard: "그리기 중수"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC3, stampStandard: "그리기 마스터"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS1, stampStandard: "스크랩 베이비"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS2, stampStandard: "스크랩 어린이"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS3, stampStandard: "스크랩 어른이"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP1, stampStandard: "새싹 업로더"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP2, stampStandard: "중수 업로더"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP3, stampStandard: "인플루언서"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR1, stampStandard: "달리기 유망주"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "아마추어 선수"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "마라톤 선수") + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC1, stampStandard: "그린 코스 1개"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC2, stampStandard: "그린 코스 5개"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC3, stampStandard: "그린 코스 10개"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS1, stampStandard: "스크랩 1회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS2, stampStandard: "스크랩 5회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS3, stampStandard: "스크랩 10회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP1, stampStandard: "업로드 1회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP2, stampStandard: "업로드 5회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP3, stampStandard: "업로드 10회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR1, stampStandard: "달리기 1회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "달리기 5회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "달리기 10회") ] // MARK: - Constants From 78b4f1a7136dd030c42d561af8e336ad761fe02e Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Wed, 11 Jan 2023 22:53:52 +0900 Subject: [PATCH 2/7] =?UTF-8?q?[Feat]=20#84=20-=20GoalRewardInfoDto=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 4 ++++ .../Dto/MyPageDto/GoalRewardInfoDto.swift | 20 ++++++++++++++++ .../Router/MyPageRouter/MyPageRouter.swift | 23 +++++-------------- 3 files changed, 30 insertions(+), 17 deletions(-) create mode 100644 Runnect-iOS/Runnect-iOS/Network/Dto/MyPageDto/GoalRewardInfoDto.swift diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 45f38ad3..bebfe881 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ 0AEBD608F3973389E8E1C6D6 /* Pods_Runnect_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 015778D02D5CDE0838284CD7 /* Pods_Runnect_iOS.framework */; }; + A3305A97296EF58C000B1A10 /* GoalRewardInfoDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3305A96296EF58C000B1A10 /* GoalRewardInfoDto.swift */; }; A3BC2F2B2962C3D500198261 /* GoalRewardInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BC2F2A2962C3D500198261 /* GoalRewardInfoVC.swift */; }; A3BC2F2D2962C3F200198261 /* ActivityRecordInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BC2F2C2962C3F200198261 /* ActivityRecordInfoVC.swift */; }; A3BC2F2F2962C40A00198261 /* UploadedCourseInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BC2F2E2962C40A00198261 /* UploadedCourseInfoVC.swift */; }; @@ -144,6 +145,7 @@ /* Begin PBXFileReference section */ 015778D02D5CDE0838284CD7 /* Pods_Runnect_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runnect_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3C3033C911343B5C57EB68E7 /* Pods-Runnect-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runnect-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Runnect-iOS/Pods-Runnect-iOS.debug.xcconfig"; sourceTree = ""; }; + A3305A96296EF58C000B1A10 /* GoalRewardInfoDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoalRewardInfoDto.swift; sourceTree = ""; }; A3BC2F2A2962C3D500198261 /* GoalRewardInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoalRewardInfoVC.swift; sourceTree = ""; }; A3BC2F2C2962C3F200198261 /* ActivityRecordInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityRecordInfoVC.swift; sourceTree = ""; }; A3BC2F2E2962C40A00198261 /* UploadedCourseInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadedCourseInfoVC.swift; sourceTree = ""; }; @@ -414,6 +416,7 @@ CE10063D29680C8100FD31FB /* .gitkeep */, A3F67AE1296D33AC001598A2 /* MyPageDto.swift */, A3F67AE9296E4936001598A2 /* ActivityRecordInfoDto.swift */, + A3305A96296EF58C000B1A10 /* GoalRewardInfoDto.swift */, ); path = MyPageDto; sourceTree = ""; @@ -1302,6 +1305,7 @@ CEC2A68729629B9B00160BF7 /* SignInVC.swift in Sources */, CE665602295D918000C64E12 /* JsonCoder.swift in Sources */, CE4545CD295D7AF4003201E1 /* TaBarController.swift in Sources */, + A3305A97296EF58C000B1A10 /* GoalRewardInfoDto.swift in Sources */, CE6655F4295D898400C64E12 /* UIViewController+.swift in Sources */, CE320F36296C8EAB009F89A7 /* CourseDrawingRouter.swift in Sources */, CE14677829658C7200DCEA1B /* Stopwatch.swift in Sources */, diff --git a/Runnect-iOS/Runnect-iOS/Network/Dto/MyPageDto/GoalRewardInfoDto.swift b/Runnect-iOS/Runnect-iOS/Network/Dto/MyPageDto/GoalRewardInfoDto.swift new file mode 100644 index 00000000..9211a2d3 --- /dev/null +++ b/Runnect-iOS/Runnect-iOS/Network/Dto/MyPageDto/GoalRewardInfoDto.swift @@ -0,0 +1,20 @@ +// +// GoalRewardInfoDto.swift +// Runnect-iOS +// +// Created by 몽이 누나 on 2023/01/11. +// + +import Foundation + +// MARK: - GoalRewardInfoDto + +struct GoalRewardInfoDto: Codable { + let stamps: [GoalRewardStamp] +} + +// MARK: - GoalRewardStamp + +struct GoalRewardStamp: Codable { + let id: String +} diff --git a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift index 01a65f93..ac14588a 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Router/MyPageRouter/MyPageRouter.swift @@ -13,6 +13,7 @@ enum MyPageRouter { case getMyPageInfo case getUploadedCourseInfo case getActivityRecordInfo + case getGoalRewardInfo } extension MyPageRouter: TargetType { @@ -32,40 +33,28 @@ extension MyPageRouter: TargetType { return "/public-course/user" case .getActivityRecordInfo: return "/record/user" + case .getGoalRewardInfo: + return "/stamp/user" } } var method: Moya.Method { switch self { - case .getMyPageInfo: - return .get - case .getUploadedCourseInfo: - return .get - case .getActivityRecordInfo: + case .getMyPageInfo, .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: return .get } } var task: Moya.Task { switch self { - case .getMyPageInfo: - return .requestPlain - case .getUploadedCourseInfo: - return .requestPlain - case .getActivityRecordInfo: + case .getMyPageInfo, .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: return .requestPlain } } var headers: [String: String]? { switch self { - case .getMyPageInfo: - return ["Content-Type": "application/json", - "machineId": "1"] - case .getUploadedCourseInfo: - return ["Content-Type": "application/json", - "machineId": "1"] - case .getActivityRecordInfo: + case .getMyPageInfo, .getUploadedCourseInfo, .getActivityRecordInfo, .getGoalRewardInfo: return ["Content-Type": "application/json", "machineId": "1"] } From cf349b4e7b166967d4c791329a03323bb4c9ddc7 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Thu, 12 Jan 2023 11:49:03 +0900 Subject: [PATCH 3/7] =?UTF-8?q?[Feat]=20#84=20-=20=EB=AA=A9=ED=91=9C=20?= =?UTF-8?q?=EB=B3=B4=EC=83=81=20API=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GoalRewardInfoCVC.swift | 38 ++++++-- .../MyPage/VC/InfoVC/GoalRewardInfoVC.swift | 97 ++++++++++++++++--- 2 files changed, 116 insertions(+), 19 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift index a1519f8c..4b33d211 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift @@ -6,8 +6,10 @@ // import UIKit + import SnapKit import Then +import Kingfisher // MARK: - GoalRewardInfoCVC @@ -33,6 +35,35 @@ final class GoalRewardInfoCVC: UICollectionViewCell { } } +// MARK: - Methods + +extension GoalRewardInfoCVC { + func setData(model: GoalRewardStamp) { + stampStandardLabel.text = model.id + setStampImageView(model: model, image: stampImageView) + } + + func setStampImageView(model: GoalRewardStamp, image: UIImageView) { + let userStampList = model.id + print(userStampList) + print("엥") + let stampNameList = ["c1", "c2", "c3", + "s1", "s2", "s3", + "u1", "u2", "u3", + "r1", "r2", "r3"] + + if userStampList.contains(stampNameList[0]) { + image.image = ImageLiterals.imgLock + } else { + image.image = ImageLiterals.imgStamp + } + } + + func setStampNameLabel(model: GoalRewardInfoModel) { + stampStandardLabel.text = model.stampStandard + } +} + extension GoalRewardInfoCVC { // MARK: - Layout Helpers @@ -50,11 +81,4 @@ extension GoalRewardInfoCVC { make.centerX.equalToSuperview() } } - - // MARK: - General Helpers - - func dataBind(model: GoalRewardInfoModel) { - stampImageView.image = model.stampImg - stampStandardLabel.text = model.stampStandard - } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift index 34ebc8db..79962e5d 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift @@ -6,14 +6,19 @@ // import UIKit + import SnapKit import Then +import Moya final class GoalRewardInfoVC: UIViewController { // MARK: - Properties + private var goalRewardProvider = MoyaProvider( + plugins: [NetworkLoggerPlugin(verbose: true)] + ) - var stampList: [GoalRewardInfoModel] = [ + var stampNameList: [GoalRewardInfoModel] = [ GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC1, stampStandard: "그린 코스 1개"), GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC2, stampStandard: "그린 코스 5개"), GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC3, stampStandard: "그린 코스 10개"), @@ -28,6 +33,9 @@ final class GoalRewardInfoVC: UIViewController { GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "달리기 10회") ] + private var goalRewardList = [GoalRewardStamp]() + private var isStampExistList = [Bool]() + // MARK: - Constants final let stampInset: UIEdgeInsets = UIEdgeInsets(top: 32, left: 34, bottom: 10, right: 34) @@ -57,8 +65,6 @@ final class GoalRewardInfoVC: UIViewController { let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) collectionView.isScrollEnabled = true collectionView.showsVerticalScrollIndicator = false - collectionView.delegate = self - collectionView.dataSource = self return collectionView }() @@ -71,6 +77,48 @@ final class GoalRewardInfoVC: UIViewController { setUI() setLayout() register() + getGoalRewardInfo() + } +} + +// MARK: - Methods + +extension GoalRewardInfoVC { + private func setData(goalRewardList: [GoalRewardStamp]) { + self.goalRewardList = goalRewardList + print(self.goalRewardList) + stampCollectionView.reloadData() + } + + private func setDelegate() { + stampCollectionView.delegate = self + stampCollectionView.dataSource = self + } + + private func register() { + stampCollectionView.register(GoalRewardInfoCVC.self, + forCellWithReuseIdentifier: GoalRewardInfoCVC.className) + } + + private func setIsStampExistList(list: [GoalRewardStamp]) -> [Bool] { + let resultList = [Bool]() + let stampNameList = ["c1", "c2", "c3", + "s1", "s2", "s3", + "u1", "u2", "u3", + "r1", "r2", "r3"] + var i = 0 + +// while i < 15 { +// if list.contains() { +// resultList[i] = true +// i += 1 +// } else { +// resultList[i] = false +// i += 1 +// } +// } +// + return resultList } } @@ -121,13 +169,6 @@ extension GoalRewardInfoVC { make.bottom.equalToSuperview() } } - - // MARK: - General Helpers - - private func register() { - stampCollectionView.register(GoalRewardInfoCVC.self, - forCellWithReuseIdentifier: GoalRewardInfoCVC.className) - } } // MARK: - UICollectionViewDelegateFlowLayout @@ -153,12 +194,44 @@ extension GoalRewardInfoVC: UICollectionViewDelegateFlowLayout { extension GoalRewardInfoVC: UICollectionViewDataSource { func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return stampList.count + return stampNameList.count } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { guard let stampCell = collectionView.dequeueReusableCell(withReuseIdentifier: GoalRewardInfoCVC.className, for: indexPath) as? GoalRewardInfoCVC else { return UICollectionViewCell()} - stampCell.dataBind(model: stampList[indexPath.item]) + stampCell.setData(model: goalRewardList[indexPath.item]) return stampCell } } + +// MARK: - Network + +extension GoalRewardInfoVC { + func getGoalRewardInfo() { + LoadingIndicator.showLoading() + goalRewardProvider.request(.getGoalRewardInfo) { [weak self] response in + LoadingIndicator.hideLoading() + guard let self = self else { return } + switch response { + case .success(let result): + let status = result.statusCode + if 200..<300 ~= status { + do { + let responseDto = try result.map(BaseResponse.self) + guard let data = responseDto.data else { return } + self.setData(goalRewardList: data.stamps) + } catch { + print(error.localizedDescription) + } + } + if status >= 400 { + print("400 error") + self.showNetworkFailureToast() + } + case .failure(let error): + print(error.localizedDescription) + self.showNetworkFailureToast() + } + } + } +} From 69e6b3e0151d407e28c9153d5a6d7a3bc59f4a5a Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Thu, 12 Jan 2023 13:27:37 +0900 Subject: [PATCH 4/7] =?UTF-8?q?[Fix]=20#84=20-=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=EB=B0=94=EC=9D=B8=EB=94=A9!!!!!!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GoalRewardInfoCVC.swift | 25 +++------- .../MyPage/VC/InfoVC/GoalRewardInfoVC.swift | 46 ++++++++----------- 2 files changed, 26 insertions(+), 45 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift index 4b33d211..c3b850f1 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift @@ -38,24 +38,13 @@ final class GoalRewardInfoCVC: UICollectionViewCell { // MARK: - Methods extension GoalRewardInfoCVC { - func setData(model: GoalRewardStamp) { - stampStandardLabel.text = model.id - setStampImageView(model: model, image: stampImageView) - } - - func setStampImageView(model: GoalRewardStamp, image: UIImageView) { - let userStampList = model.id - print(userStampList) - print("엥") - let stampNameList = ["c1", "c2", "c3", - "s1", "s2", "s3", - "u1", "u2", "u3", - "r1", "r2", "r3"] - - if userStampList.contains(stampNameList[0]) { - image.image = ImageLiterals.imgLock + func setStampImageView(model: GoalRewardInfoModel, item: Bool) { + print(item) + if item == true { + stampImageView.image = model.stampImg + } else { - image.image = ImageLiterals.imgStamp + stampImageView.image = ImageLiterals.imgLock } } @@ -67,7 +56,7 @@ extension GoalRewardInfoCVC { extension GoalRewardInfoCVC { // MARK: - Layout Helpers - + private func setLayout() { contentView.addSubviews(stampImageView, stampStandardLabel) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift index 79962e5d..baa5e8be 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift @@ -34,7 +34,7 @@ final class GoalRewardInfoVC: UIViewController { ] private var goalRewardList = [GoalRewardStamp]() - private var isStampExistList = [Bool]() + var isStampExistList = Array(repeating: false, count: 12) // MARK: - Constants @@ -76,6 +76,7 @@ final class GoalRewardInfoVC: UIViewController { setNavigationBar() setUI() setLayout() + setDelegate() register() getGoalRewardInfo() } @@ -84,12 +85,6 @@ final class GoalRewardInfoVC: UIViewController { // MARK: - Methods extension GoalRewardInfoVC { - private func setData(goalRewardList: [GoalRewardStamp]) { - self.goalRewardList = goalRewardList - print(self.goalRewardList) - stampCollectionView.reloadData() - } - private func setDelegate() { stampCollectionView.delegate = self stampCollectionView.dataSource = self @@ -100,25 +95,20 @@ extension GoalRewardInfoVC { forCellWithReuseIdentifier: GoalRewardInfoCVC.className) } - private func setIsStampExistList(list: [GoalRewardStamp]) -> [Bool] { - let resultList = [Bool]() - let stampNameList = ["c1", "c2", "c3", - "s1", "s2", "s3", - "u1", "u2", "u3", - "r1", "r2", "r3"] - var i = 0 + func setIsStampExistList(list: [GoalRewardStamp]) { + let stampNameDictionary: [String: Int] = ["c1": 0, "c2": 1, "c3": 2, + "s1": 3, "s2": 4, "s3": 5, + "u1": 6, "u2": 7, "u3": 8, + "r1": 9, "r2": 10, "r3": 11] -// while i < 15 { -// if list.contains() { -// resultList[i] = true -// i += 1 -// } else { -// resultList[i] = false -// i += 1 -// } -// } -// - return resultList + for stamp in list { + guard let index = stampNameDictionary[stamp.id] else { return } + self.isStampExistList[index] = true + } + + print(isStampExistList) + + stampCollectionView.reloadData() } } @@ -199,7 +189,9 @@ extension GoalRewardInfoVC: UICollectionViewDataSource { func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { guard let stampCell = collectionView.dequeueReusableCell(withReuseIdentifier: GoalRewardInfoCVC.className, for: indexPath) as? GoalRewardInfoCVC else { return UICollectionViewCell()} - stampCell.setData(model: goalRewardList[indexPath.item]) + stampCell.setStampImageView(model: stampNameList[indexPath.item], item: isStampExistList[indexPath.item]) + print(indexPath.item) + stampCell.setStampNameLabel(model: stampNameList[indexPath.item]) return stampCell } } @@ -219,7 +211,7 @@ extension GoalRewardInfoVC { do { let responseDto = try result.map(BaseResponse.self) guard let data = responseDto.data else { return } - self.setData(goalRewardList: data.stamps) + self.setIsStampExistList(list: data.stamps) } catch { print(error.localizedDescription) } From bc6a5b07fba69bf8c4ade06f6900394eddcd6770 Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Thu, 12 Jan 2023 13:31:36 +0900 Subject: [PATCH 5/7] =?UTF-8?q?[Chore]=20#84=20-=20img=5Flock=20=EC=97=90?= =?UTF-8?q?=EC=85=8B=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Contents.json | 6 +++--- .../ic_lock.imageset/mypage_img_stamp6.png | Bin 0 -> 1834 bytes .../ic_lock.imageset/mypage_img_stamp6@2x.png | Bin 0 -> 3853 bytes .../ic_lock.imageset/mypage_img_stamp6@3x.png | Bin 0 -> 6008 bytes .../img_lock.imageset/Component 89.png | Bin 2103 -> 0 bytes .../img_lock.imageset/Component 89@2x.png | Bin 4098 -> 0 bytes .../img_lock.imageset/Component 89@3x.png | Bin 6119 -> 0 bytes 7 files changed, 3 insertions(+), 3 deletions(-) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_lock.imageset => ic_lock.imageset}/Contents.json (66%) create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6.png create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@2x.png create mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@3x.png delete mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Component 89.png delete mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Component 89@2x.png delete mode 100644 Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Component 89@3x.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Contents.json b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/Contents.json similarity index 66% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Contents.json rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/Contents.json index 82055ca8..6d0b01c3 100644 --- a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Contents.json +++ b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/Contents.json @@ -1,17 +1,17 @@ { "images" : [ { - "filename" : "Component 89.png", + "filename" : "mypage_img_stamp6.png", "idiom" : "universal", "scale" : "1x" }, { - "filename" : "Component 89@2x.png", + "filename" : "mypage_img_stamp6@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "Component 89@3x.png", + "filename" : "mypage_img_stamp6@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6.png new file mode 100644 index 0000000000000000000000000000000000000000..5f380d2fcbfbd4500a301ba7dec964efc8efa8bf GIT binary patch literal 1834 zcmV+_2i5qAP)?)tN5$mB#OlgU1i`F-DFX2|4A=07WI)?Tyso&p?0DRn~@wCiHUaJ?9_IBTH= z;qsZ-BDV{L!Xg}^0LzH5Wm()5<1!L8D=N^!{~^LxFlbO*vHN20l{u`O}-9{hCH0w~>BNm`D z2%o8l{VJJCfQ&eXj1ZCU$l@vd7nzjBp2{)J!4;H_#rM_GdQ6 z#AbU5C8>oDMSdby!e9`f2eDJdXr=2BgCsI3i9HFAy=%Jm=$Ob^)+Bs_#jDwFi&k9; zJ%Hh&9Ra!wBZ-C1MQ$QM7h-oKbQQVCjWB#r?6poiCb}4gxnv1BjqrMPH_472g;u)7 z=S~aBJ?2z`7UZF!BaF*zRu5{1kralG?+=UDojjTaqFm(8P@{#zc4#ZK(&fT3a*|R$ zEQGWS9j>Nwdwan4wq73^5--WD_LvzAAv3MAkP~g*zzbjr4zT%AzP)_y53=0(Qvce} zDPUv-n4ADkorViAgwU(+HNMc~(V;h2VHtYvn}0;$56Si~ir5z}0LPERHZ8rn)sHVx zUf54IH|0z}PcAZ9d#~RUg%*oMUR_6>N4wz7pFd06wyNWC#PBdMAs#z2TJu;6%CNG! z3T$oF_C0x0-07Oc#1pVdlUFx-bQu=e-34C0sEJ$LqN`Q z$-dCWJbI&xB2mBLMbaSqLL0jfZre|{4%q$-lZ;bna}@!LvAK~w7{zRi9$<>hqrJJy z%@XM9TU`=8e-RE0M@@`BLbE{h_n(rKuIlY+DenL9qZ7BTl2CN-K5`qDmue!D7tghK z`+_$@Z?(u0c6ZLA&vQ~1;pNxa}C3I9Lq0nC(sF`#@K%t+(6XH$yEwfGNURn3bqd&%qQZCg^60k_2 zyBfx2laH~An{Pt1W$2C2Gv5IhujuuO6x|Ul5}e?`M7aaN@Zo$@eCh(cgc?T;7H_=T zLn{0e3H=vL;85;sFc06)>LQ^lFaW!HxdMAN8R9Yj>y($}yGPc(Zg70krw1Ltk*h|V6$eNXe) zr-Gf%P1ln-Vqki@zQ<`FVc3{C`0R!kAHu+3A;xNsOJRo^_QPX`mVVtJr{|s=(w{kL zHgwI$HyS;f-pt_@`LN{PnTd}LuRFitD58hR>6J%~1Mpi7=*+#kcV-%eZi-mBSNF`r zR?|te8+4z0bvgpHnP;ixH8}L@dE|7Ne>!M-!0sP4X7(4=`5Sipt&nG8<>8a;Q_<@7s z+0pdH0aDV_{RVz;nBE-aY9EiSCy_IS^KvRbAKTOp9?KjuB7cNaYbwb25l($U>1PF2 zm49UF#YT`XToQYr{D1=AQ@YgPCrS(cNV$ps0ym?$_DIzAaJg7;>;dfm Y11?nve-JLo?f?J)07*qoM6N<$f(rY1OaK4? literal 0 HcmV?d00001 diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@2x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..aeda7f67a1a087b5be5b8cc55e959ab72c45788c GIT binary patch literal 3853 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 P00000NkvXXu0mjfvED#o literal 0 HcmV?d00001 diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@3x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..72a11e51358035dc40073b5f5790abb823bae9cd GIT binary patch literal 6008 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 AMgRZ+ diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Component 89@3x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Component 89@3x.png deleted file mode 100644 index 6b9e36e99dd2ac77a71cf8e458259f24956dd301..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6119 zcmVz7}= zn}dOLhC|u*Jn4ulorWXt>&ML7H_eNV|Nb$@f8S!B99?{>bMboDyxtvn^1TfG*N^n= zW>bzfHk>0tB{_mp({MOH_k-bPqahz_5STyPD?=bFo*yJf=Cv0lz>Zv34mDU>E$2{B zS_DUloSk{wT0NKxZ`-_i+moPbkaFspC!dDL3lnsQ8YqNGc@P{0<#}G`^i+0CNbHz5 zKQL`XMQ;BN>EK~3uIK4d~5#fZ*DpV zf59kT2KQWuHnUeFR5Jv}e)l$-U7q zWJi!0hBN6SI1)A*itL)OxGVH5a_2g-ry)XPHCY5l0;n!ZKo_A6<&l}<-Diq7K7u2L z(G==^6BZAI>Y^M>fVgHT(`d*ehB46*91-YnWYp-qD<~};#tBg`WHEwc0<$ET$6O>2`+fOxYl~^z zF@j^H*Yoa)D_@Aml5os1S_jf@J9`3xLvM~_rdA)*$AAsTk;7&~KCS!k#g&>0Zj|GF zG4$j)p#fWZTgLOge5cPHsj*sC9R30>N4{cMf>`v%%$|H!$9*uhsyIefh7L=f5gLfi zJcsnTWQMzskB_}tHPdTTaZqI-RW++VDqnF>Wgruy>Z2~bk4je@{z9(4?3-6V79cC8 z`dDkoohr|~RJP(URPU((8G<{?LTbK+%kbF8Ummil{_z_?>J=z7{s7p}0Ew z9IeW%OR0w{qw`fCoA2VD041S)k53STx4W7_IC1}%h;O}+WmXaw|aOi%Mp+{(-LdAxQ1l8lu zxaf0SN}?3Oq07fjD(?wUVfq{|%QE%C2gm3xT~7q40mqfcWmxM`=vfv00h-~-Ljh_= z@2tML={%BxDr|5N8mPM>hesiUW7N}Nc!JvVhVuFK>rUaWg~A1gc9v;`0&lpE+-tR* zr&1t=3J!lRJJ_rSV1l_&?-c2NriBR(T|MV7?qZz=Fi+Q19(PRTaVP~)i0N3}domQZ z#RE%p^cvA?MG7GIih~VnKnMld7?*p+;cty6Gyps1TIu)Y>%0$u$~8Fjyc6Mm8bBzX z$oATrJeC~g7967mUfhWsh`>xF+{<%mdM-T6 z__}LNxs`RZG}EDq-dxz9K_N7Nr1;lV*3HsPgF{bPV+I9Cn7O7*vozCwM`ppH8`o%t z0_iZ#(g#`I1Spdp2Yn476PfipGO0M|YXF((WVJXf_2BU5n(1o*nHVh&OTFKb>QF_G zGZ@{O96*NB-iDuAaQNrCzU1_HAQz4t4bJ7()|S(i6r?s(Vd@pgQOZ-asZ<;cQGjAd zYsivHaP-c+@2EC_0!V4d(v*bxyIu*6Qt*Z%X8KOf&qZFp78#D-Rs-|Wb^QZ^eEPa6 zef^i~>mpaK3d+D-i*D0jc==EglxW2Ci3PS_qRkNm3xPSdNy^lP_T~QjV;-K2dkA{Z!GRhVjO220P+Ua}bDpu7Ix#FPO$j>-5 z`Uzfm+JjhI4_1aY8dLw?Aow@Ot4ovoH{W@e$|Emvs*cDHnO|)b=B)erNGdcmAU56- zxoW0NuWkfy+whmDzYZ3ZX+t(nkn~623*nI)tvU`Qf=HJ>)kZ#&2n}6ZvDr2+uh@sh zGP)Y|^fU;QsI>C<-Ft8L#UMLTtByzy6}^poXd^UgXlP*QZ+88&v5`z@D4kx_i(Z?Z z&4^WleosICD9A^oUPtJPgK8rmy>7IrObrNK{@rRzCQf_iYdwiJglTtzuNB#fQgwv> zy+gH;z3~$Auyoq<-S@H!4W+{%{Wqgj9~zEDSn*mnjw5#^q)-(H)kgMo8TtSIDf|#c zFW}CW*Kut9ub z_pn$8hkwY6E4Kxi(OHzUUbw$gv_3(UuSdUU7Kdfa3_b3LImpR6I2sMvWe04w!uBv;AcIp^BUBY1nnAzj1Yqge~n26k&L>h<(voB!~ zU)X9xhXTzKEZNrS;V?rf{TX-#zEwaKnIHGA&F8HQ4xNIP2=ly%?$;1&88k4;v}j7# zl-RCX)n3P0hyX==rb&9&rb)W;Av9C4JAzETdTIZ;?UJpu)X)gii_y(=$dpx+bY*Zj zR2!MnVTx_Vq18qiZ^fs(a&4;)T}jGtC0jO4(xnfd4pX#YBFIdbVM^JmjWG?4%}x8y zfAva`A-(3!aOLK*&siEAuLpLG5+o-~X z3mO__m`PbgzxJz^!NOD2euDNFSdHOS<&yg{6 z?Jrx?u`oCW9>bKZg}IBCu8AnSt09J3eO8fXZn&hsxiC0f$A0-Kk`dbk*#I3D|6dx{-Q7LV4fKrzYm7~ z(tay?!Byo#(%`VEwDgDu{hk{Y3C*%_*Zh{nlj--*jR(^ddB*yUbZ8$#*J|h#qs|ua zn=~37s_Bsmdbf7%m8?}@=vG7~APzP+ojY^hKdX0Y`@0V|w4%_vTD>|WDAF=M)LKJ? zGg=bW9rWdc>Dvm<{D^f5hSW&LI56~%Rz*G#x(ddJS}R?KuN(gekVJG$C~Lp-VDg6Pf8q&ex*6~drpKxiY(r7S~5|xHV z(kI9x8Ty#$*)(y^x2?PBY`7F0ox7d@Kls&?pam zjC3f;-P6OH&W6hs2aCQ!qo+|W{ZaE8;h1c=v<2lNIQ(t&2t}t_UsL*)j?Q>7RU2C8 zcp@V%g2R+?1V;#3?sD2#dG$^hvV_%`s5&l!!!$n#jt~fqa^slE@FsW6yA!X_7_}7k zz$6qC2R?-}xe)A4#UWH2w)jm|9X*bjwB}9RO4JXIQDfBli2J%@IeB%Q(IgF{GrqBp z9~>r02n|czL!(->*TF9WdyPggGVz0BNMqC*hXYm5ufGW_d2TRV33?nHgJ7-C;Xsu` z#bM7GO`^D?|1hIsi3MNP!~PX}W){jnGCb&UI8+=qbUe(Sldial^SnQZB!Q(hds>cO50}zsH(&M@SfF)CG+;jy1!s#^q<>nmuhzaMvz1fqq zzHX-NuLy8KXH_^94;Q}sACV*T=P!S{{Qh^|6Zzoxrat|>06u~P^72&VKmKhtFvj%# z`scs?Q{>J+iCo(h)Ev{XHK(ER>|Ym$#--0a3qJQH_vx%RkLGCYJ^%M`cWl?s)#?QG zMsU=aRvABhFQJWxE~qbpqsFuu8r4yZzl-uCIBM+VXNio8quvOP8as}0YC9*{)f>T4 zV{7XIL_%=XSS!YQjLr=~jk)5;k)W3T=5HmkcYY_RE0Y;i95wd$A4MOoeE5-|#t4oY z)6n?nA0@Ou+!DFg64aR9$fql)tq=bY1c5F6+$dp#>M)sc)D(~4s5=b;-MIGO&lm4Q z(XI6#Z8Jncz#V!LVbL+F#@{yocZ)y%;Xe=>2n>gELXQI%mM!Xf#ey%4IIbKs9g7Q` z+726@8Kr1&(Bpt_S#X?j4-Sl(%y69{!GXZC;9#hNF_RfbuItL70J6NQc+D^dBaT)a z=jT)$2rR2O=zn0W-!~P<)|PW5s6Cr)@@%Dt(#!~^W0_g0Jv~ch6^1JqXGIVkLwO;n zHJebd2^UnGE;rYgesFl~SE)UQDzGv1f+8cRIG9KdXiAnoM~zW&z(RMc<-Dmll*5#4tyu*JJ&sy4 z8F4W(xd;x^E&WzdTQ-~67^>9Uct%CNsW?3P9CgM}1*=SE#6@th*{$Aef`k1k^)_(l z1V<}qde9)Pp)d=(SOivIluK0|9_3)7fw-I0gfP1Hi25Y`7F0TU$p1{i*xYmurr$Rc9Dbie=yL#=UB59l z_w3lABi{&s+Vh6;bl&^t2gf;mj(HkQK}GS{&bMfZ#@yi08~d2y%G|$DXRa%#s0NSi zjL|gg(Y%i>{BaG1Y1wHS9E3;p=ws^exXv)sunSuj?vf822xhFW3o2%f$8;{!>s;8f zSQs4s6b!c$oN?ufpkjDT=P=j)+#G)d>X@ixD?%7h`x5<_`p`>FQ9L6dYY9kRUrF5yuI`WW$8Enun*(-gIC zNmvKRs7d;zU0tVX#LGAm!tt@!X*A_nFjv1X^5dU_mnaTGW3@qFKCqch z84ER`=vN)=Us*_>nD4$vavCzka&{)E93ik3}3F-9I+c86yXM&~laOU0#)kj`5 zC^}mr8*d3#2wQEa(7~Zhcs%29>eYrrk+Yr&k(UHWR>rG(S)gahR2%J<^O=McH8`j` zLedK4l?jkve-)%acerkB1Va-7!(NnXLq!S>Mb#0FRvzcCMSlA&c&TqwjfA7a5WTsu z-i=NFT-_inB8gaS1b;Omst%ysqE;I!a!#`h9VoE~Gbxke7I@Z6Q~?yn;5^>78!I@p z>R??5P%<&Ajo^O~)A6x)(=@7{n^)O71e8FW-o{w$UbKDz>|p`Q!Cb44;)aHbU2!OX z56haVIy|{40E$U>z@E#kFq_#HNo4lh|3Zc|N`XQf`qf4vx5h}M;uvF57*I@lfb?d| zxg`lnbiJMV;yxDuh0{NmPbEQ#21l#q9D1zn0173khUlb3hboFjDNrD$A=+*^A4tLy z-x{RN7sr!G8)pC{E3IoWl|6<2ic;2g0J+j@(Dt~4uo54tj4@;Za+Khjjd@bLivdFx zAU}HTr4QC4ypj*=E!GxO}j2qsNhiM2eju6Ic5P+ zo+F>PTh5*oOyPnXj;`feA0l8XBsU!J+gAZpMVSI4KTg<9YIQ(3hREhK4HTP-Plx zJx~^9SfgR162YOEaY4a#bpvP7HmgNdncz?~O;JcCZh|gS+8)O|qoyf+4-|$z7e|LB z9Z7{$s^XY5TBfdj4~8ztLs!poEyMEhC@LEqilGZ~@C700C0Q*X!9Sr@7gq`@>m9W!fEru`;yRJ!7rqz@>KQ>0W2#yE{kcu!p49AnF1V(rSM+_GM;>vBNaZ7_)k^~SO3D9ZWMniU42U1)* z92pMeo8eIQ2#oj$j)dtxn4u^47{(NWRu@lQk$r|E$s#yX;@?E5Avx{&vd9m?Q6PR}Rs3q?Hq}VL4~n3w*zfn{ke)>` z5F7TC=u;Ekt$N=ar%VWrlG89T0n*Vx5m#>dfg)z+rYN&FdS6acMVKdAchEPL zgn4^yO%CZ#lpDcOVZZ$1-86lHn;I;h28k=3hAZ!TTBUeFrQ(Oo*s8G6yI@_sDmsMl ts|J00FqH3Q=)c|7>cI@Nx`ab@{Xb5OFOgW4B=G Date: Thu, 12 Jan 2023 13:44:36 +0900 Subject: [PATCH 6/7] =?UTF-8?q?[Chore]=20#84=20-=20=ED=95=A8=EC=88=98=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20=ED=95=84?= =?UTF-8?q?=EC=9A=94=20=EC=97=86=EB=8A=94=20=EC=BD=94=EB=93=9C=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Contents.json | 0 .../mypage_img_stamp6.png | Bin .../mypage_img_stamp6@2x.png | Bin .../mypage_img_stamp6@3x.png | Bin .../GoalRewardInfoCVC.swift | 6 +----- .../MyPage/VC/InfoVC/GoalRewardInfoVC.swift | 4 +--- 6 files changed, 2 insertions(+), 8 deletions(-) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{ic_lock.imageset => img_lock.imageset}/Contents.json (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{ic_lock.imageset => img_lock.imageset}/mypage_img_stamp6.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{ic_lock.imageset => img_lock.imageset}/mypage_img_stamp6@2x.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{ic_lock.imageset => img_lock.imageset}/mypage_img_stamp6@3x.png (100%) diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/Contents.json b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Contents.json similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/Contents.json rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/Contents.json diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/mypage_img_stamp6.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/mypage_img_stamp6.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@2x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/mypage_img_stamp6@2x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@2x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/mypage_img_stamp6@2x.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@3x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/mypage_img_stamp6@3x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/ic_lock.imageset/mypage_img_stamp6@3x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_lock.imageset/mypage_img_stamp6@3x.png diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift index c3b850f1..0ffec711 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoCVC.swift @@ -38,17 +38,13 @@ final class GoalRewardInfoCVC: UICollectionViewCell { // MARK: - Methods extension GoalRewardInfoCVC { - func setStampImageView(model: GoalRewardInfoModel, item: Bool) { - print(item) + func setData(model: GoalRewardInfoModel, item: Bool) { if item == true { stampImageView.image = model.stampImg } else { stampImageView.image = ImageLiterals.imgLock } - } - - func setStampNameLabel(model: GoalRewardInfoModel) { stampStandardLabel.text = model.stampStandard } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift index baa5e8be..bfe55235 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift @@ -189,9 +189,7 @@ extension GoalRewardInfoVC: UICollectionViewDataSource { func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { guard let stampCell = collectionView.dequeueReusableCell(withReuseIdentifier: GoalRewardInfoCVC.className, for: indexPath) as? GoalRewardInfoCVC else { return UICollectionViewCell()} - stampCell.setStampImageView(model: stampNameList[indexPath.item], item: isStampExistList[indexPath.item]) - print(indexPath.item) - stampCell.setStampNameLabel(model: stampNameList[indexPath.item]) + stampCell.setData(model: stampNameList[indexPath.item], item: isStampExistList[indexPath.item]) return stampCell } } From 681351a57f066c767671e54577258da338e2bead Mon Sep 17 00:00:00 2001 From: dlwogus0128 <79050615+dlwogus0128@users.noreply.github.com> Date: Thu, 12 Jan 2023 14:15:21 +0900 Subject: [PATCH 7/7] =?UTF-8?q?[Chore]=20#84=20-=20MyPage=20=EC=9C=A0?= =?UTF-8?q?=EC=A0=80=20=ED=94=84=EB=A1=9C=ED=95=84=20=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=B0=94=EC=9D=B8?= =?UTF-8?q?=EB=94=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Global/Literal/ImageLiterals.swift | 6 ++-- .../Contents.json | 0 .../mypage_img_stamp7.png | Bin .../mypage_img_stamp7@2x.png | Bin .../mypage_img_stamp7@3x.png | Bin .../Contents.json | 0 .../mypage_img_stamp8.png | Bin .../mypage_img_stamp8@2x.png | Bin .../mypage_img_stamp8@3x.png | Bin .../Contents.json | 0 .../mypage_img_stamp9.png | Bin .../mypage_img_stamp9@2x.png | Bin .../mypage_img_stamp9@3x.png | Bin .../GoalRewardInfoModel.swift | 26 ++++++++++++++++++ .../MyPage/VC/InfoVC/GoalRewardInfoVC.swift | 26 ++++-------------- .../Presentation/MyPage/VC/MyPageVC.swift | 11 ++++++-- 16 files changed, 42 insertions(+), 27 deletions(-) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p1.imageset => img_stamp_u1.imageset}/Contents.json (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p1.imageset => img_stamp_u1.imageset}/mypage_img_stamp7.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p1.imageset => img_stamp_u1.imageset}/mypage_img_stamp7@2x.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p1.imageset => img_stamp_u1.imageset}/mypage_img_stamp7@3x.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p2.imageset => img_stamp_u2.imageset}/Contents.json (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p2.imageset => img_stamp_u2.imageset}/mypage_img_stamp8.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p2.imageset => img_stamp_u2.imageset}/mypage_img_stamp8@2x.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p2.imageset => img_stamp_u2.imageset}/mypage_img_stamp8@3x.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p3.imageset => img_stamp_u3.imageset}/Contents.json (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p3.imageset => img_stamp_u3.imageset}/mypage_img_stamp9.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p3.imageset => img_stamp_u3.imageset}/mypage_img_stamp9@2x.png (100%) rename Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/{img_stamp_p3.imageset => img_stamp_u3.imageset}/mypage_img_stamp9@3x.png (100%) diff --git a/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift b/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift index 26949435..589a6e03 100644 --- a/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift +++ b/Runnect-iOS/Runnect-iOS/Global/Literal/ImageLiterals.swift @@ -48,9 +48,9 @@ enum ImageLiterals { static var imgStampC1: UIImage { .load(named: "img_stamp_c1") } static var imgStampC2: UIImage { .load(named: "img_stamp_c2") } static var imgStampC3: UIImage { .load(named: "img_stamp_c3") } - static var imgStampP1: UIImage { .load(named: "img_stamp_p1") } - static var imgStampP2: UIImage { .load(named: "img_stamp_p2") } - static var imgStampP3: UIImage { .load(named: "img_stamp_p3") } + static var imgStampU1: UIImage { .load(named: "img_stamp_u1") } + static var imgStampU2: UIImage { .load(named: "img_stamp_u2") } + static var imgStampU3: UIImage { .load(named: "img_stamp_u3") } static var imgStampR1: UIImage { .load(named: "img_stamp_r1") } static var imgStampR2: UIImage { .load(named: "img_stamp_r2") } static var imgStampR3: UIImage { .load(named: "img_stamp_r3") } diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/Contents.json b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/Contents.json similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/Contents.json rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/Contents.json diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/mypage_img_stamp7.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/mypage_img_stamp7.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/mypage_img_stamp7.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/mypage_img_stamp7.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/mypage_img_stamp7@2x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/mypage_img_stamp7@2x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/mypage_img_stamp7@2x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/mypage_img_stamp7@2x.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/mypage_img_stamp7@3x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/mypage_img_stamp7@3x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p1.imageset/mypage_img_stamp7@3x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u1.imageset/mypage_img_stamp7@3x.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/Contents.json b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/Contents.json similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/Contents.json rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/Contents.json diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/mypage_img_stamp8.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/mypage_img_stamp8.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/mypage_img_stamp8.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/mypage_img_stamp8.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/mypage_img_stamp8@2x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/mypage_img_stamp8@2x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/mypage_img_stamp8@2x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/mypage_img_stamp8@2x.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/mypage_img_stamp8@3x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/mypage_img_stamp8@3x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p2.imageset/mypage_img_stamp8@3x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u2.imageset/mypage_img_stamp8@3x.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/Contents.json b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/Contents.json similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/Contents.json rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/Contents.json diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/mypage_img_stamp9.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/mypage_img_stamp9.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/mypage_img_stamp9.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/mypage_img_stamp9.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/mypage_img_stamp9@2x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/mypage_img_stamp9@2x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/mypage_img_stamp9@2x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/mypage_img_stamp9@2x.png diff --git a/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/mypage_img_stamp9@3x.png b/Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/mypage_img_stamp9@3x.png similarity index 100% rename from Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_p3.imageset/mypage_img_stamp9@3x.png rename to Runnect-iOS/Runnect-iOS/Global/Resource/Assets.xcassets/img_stamp_u3.imageset/mypage_img_stamp9@3x.png diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoModel.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoModel.swift index 61202843..82de027c 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoModel.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoCollectionView/GoalRewardInfoModel.swift @@ -11,3 +11,29 @@ struct GoalRewardInfoModel { let stampImg: UIImage let stampStandard: String } + +extension GoalRewardInfoModel { + static var stampNameList: [GoalRewardInfoModel] { + return [ + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC1, stampStandard: "그린 코스 1개"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC2, stampStandard: "그린 코스 5개"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC3, stampStandard: "그린 코스 10개"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS1, stampStandard: "스크랩 1회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS2, stampStandard: "스크랩 5회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS3, stampStandard: "스크랩 10회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampU1, stampStandard: "업로드 1회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampU2, stampStandard: "업로드 5회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampU3, stampStandard: "업로드 10회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR1, stampStandard: "달리기 1회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "달리기 5회"), + GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "달리기 10회") + ] + } + + static var stampNameImageDictionary: [String: UIImage] { ["c1": ImageLiterals.imgStampC1, "c2": ImageLiterals.imgStampC2, "c3": ImageLiterals.imgStampC3, + "s1": ImageLiterals.imgStampS1, "s2": ImageLiterals.imgStampS2, "s3": ImageLiterals.imgStampS3, + "u1": ImageLiterals.imgStampU1, "u2": ImageLiterals.imgStampU2, "u3": ImageLiterals.imgStampU3, + "r1": ImageLiterals.imgStampR1, "r2": ImageLiterals.imgStampR2, "r3": ImageLiterals.imgStampR3] + + } +} diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift index bfe55235..ed5bf2b8 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift @@ -18,22 +18,13 @@ final class GoalRewardInfoVC: UIViewController { plugins: [NetworkLoggerPlugin(verbose: true)] ) - var stampNameList: [GoalRewardInfoModel] = [ - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC1, stampStandard: "그린 코스 1개"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC2, stampStandard: "그린 코스 5개"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampC3, stampStandard: "그린 코스 10개"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS1, stampStandard: "스크랩 1회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS2, stampStandard: "스크랩 5회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampS3, stampStandard: "스크랩 10회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP1, stampStandard: "업로드 1회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP2, stampStandard: "업로드 5회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampP3, stampStandard: "업로드 10회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR1, stampStandard: "달리기 1회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "달리기 5회"), - GoalRewardInfoModel(stampImg: ImageLiterals.imgStampR2, stampStandard: "달리기 10회") - ] + var stampNameList: [GoalRewardInfoModel] = GoalRewardInfoModel.stampNameList private var goalRewardList = [GoalRewardStamp]() + let stampNameDictionary: [String: Int] = ["c1": 0, "c2": 1, "c3": 2, + "s1": 3, "s2": 4, "s3": 5, + "u1": 6, "u2": 7, "u3": 8, + "r1": 9, "r2": 10, "r3": 11] var isStampExistList = Array(repeating: false, count: 12) // MARK: - Constants @@ -96,18 +87,11 @@ extension GoalRewardInfoVC { } func setIsStampExistList(list: [GoalRewardStamp]) { - let stampNameDictionary: [String: Int] = ["c1": 0, "c2": 1, "c3": 2, - "s1": 3, "s2": 4, "s3": 5, - "u1": 6, "u2": 7, "u3": 8, - "r1": 9, "r2": 10, "r3": 11] - for stamp in list { guard let index = stampNameDictionary[stamp.id] else { return } self.isStampExistList[index] = true } - print(isStampExistList) - stampCollectionView.reloadData() } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift index 6ddd62b9..e6dd9423 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift @@ -18,6 +18,8 @@ final class MyPageVC: UIViewController { private var myPageProvider = MoyaProvider( plugins: [NetworkLoggerPlugin(verbose: true)] ) + + let stampNameImageDictionary: [String: UIImage] = GoalRewardInfoModel.stampNameImageDictionary // MARK: - UI Components @@ -28,9 +30,7 @@ final class MyPageVC: UIViewController { private let secondDivideView = UIView() private let thirdDivideView = UIView() - private let myProfileImage = UIImageView().then { - $0.image = ImageLiterals.imgStampR2 - } + private let myProfileImage = UIImageView() private let myProfileNameLabel = UILabel().then { $0.textColor = .m1 @@ -159,6 +159,7 @@ extension MyPageVC { self.myRunningProgressBar.setProgress(Float(model.user.levelPercent)/100, animated: false) setMyRunningProgressPercentLabel(label: myRunnigProgressPercentLabel, model: model) setMyRunningLevelLavel(label: myRunningLevelLavel, model: model) + setMyProfileImage(model: model) } private func setMyRunningProgressPercentLabel(label: UILabel, model: MyPageDto) { @@ -173,6 +174,10 @@ extension MyPageVC { label.attributedText = attributedString } + private func setMyProfileImage(model: MyPageDto) { + guard let profileImage = stampNameImageDictionary[model.user.latestStamp] else { return } + myProfileImage.image = profileImage + } } // MARK: - @objc Function