-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feat] #327, #328 - 인증사진 모아보기 대표이미지 변경 API 연결 및 보관함 viewWillAppear에서 통신으로 수정 #354
Conversation
대표이미지 변경 API 메서드 생성
대표이미지 변경 기능 연결
이미 선택되어 있는 대표이미지 표시하기
이미 선택되어 있는 대표이미지가 뷰에서 표시되는 기능 구현
delegate 패턴을 이용해 바뀐 대표이미지의 URl 전달
보관함 서버통신 ViewWillAppear로 변경
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
잘동작하는지 여부와 대표이미지를 변경하고 뒤로가기를 통해서 보관함 뷰로 왔을때 대표이미지를 변경하는 코드가 없어서 코드리뷰 남겼습니당!
case .myRoomChangeThumbnail(let roomId, let recordId): | ||
return .requestParameters(parameters: ["roomId": roomId, "recordId": recordId], | ||
encoding: JSONEncoding.default) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
path 파라미터로 서버에서 달라고했기때문에 여기는 requestPlain 해도 됩니당! 위에서 이미 path 를 정해줬기 때문이죠
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
넵 반영했습니당~~!
if (self.selectedIndexPath == nil)&&(thumbnailURL == myRoomCertificationList?[indexPath.row].certifyingImg) { | ||
DispatchQueue.main.async { | ||
// selectItem 코드를 넣지 않으면 중복선택이 되어버리는 오류가 발생함 | ||
cell.isSelected = true | ||
collectionView.selectItem(at: indexPath, animated: false, scrollPosition: .init()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cell.isSelected = true 없이 selectItem 만 해줘도 되나여?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
와우... selecteItem만 해줘도 되네요 하나 알아갑니다!
protocol SendThumbnailURLDelegate: AnyObject { | ||
func sendThumbnailURL(url: String) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
호오 이걸로 완료를 통해서 보관함에서 썸네일주소를 가져온 변수를 갱신해주는거군요! 굳굳
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요 프로토콜 친구 Protocols 폴더에 따로 파일 만들어서 빼는건 어떤가여?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 일단 좋은 것 같은데...다음 PR에 반영할까여?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네넹 머 급한거 아니니까~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋아여 다음 PR 에 반영해주세여~
func myRoomChangeThumbnailWithAPI(roomId: Int, recordId: Int) { | ||
MyRoomAPI.shared.myRoomChangeThumbnail(roomId: roomId, recordId: recordId) { response in | ||
switch response { | ||
case .success: | ||
self.dismiss(animated: true) { | ||
// 이전 VC로 바뀐 대표이미지의 URL 전달해주기 | ||
self.sendThumnailURLDelegate?.sendThumbnailURL(url: self.myRoomCertificationList?[self.selectedIndexPath?.row ?? 0].certifyingImg ?? "") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
대표이미지의 URL 을 전달해주지만 이전 vc 에서 적용되려면 리로드도 해줘야할듯한대 지금 잘 동작하나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
넵 보관함에서는 reload를 해주고 있기 때문에 잘 반영이 되고, 인증사진 모아보기에서는 선택된 대표이미지를 표시해주는 UI가 없어서 리로드를 안해줘도 될 것 같습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
인증사진 모아보기에서 수정된 선택된 대표이미지를 표시해주는 UI 가 있지 않나여?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오우야.... 맞다맞다 제가 착각했네여
if !self.fromStorageMore { | ||
self.reSetView() | ||
} else { | ||
self.fromStorageMore = false | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
대표사진이 변경된 후 모아보기에서 오게되면 리셋하지 않는 대신 해당 대표이미지를 변경된게 반영이 될야할거 같아요..!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아아 여기가 변경사항이 없어서 안보이는데, 위쪽에서 리로드는 항상 해주고 있습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
테플 업뎃 드가자~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨섭니다운..⚡️
protocol SendThumbnailURLDelegate: AnyObject { | ||
func sendThumbnailURL(url: String) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요 프로토콜 친구 Protocols 폴더에 따로 파일 만들어서 빼는건 어떤가여?
🔥Pull requests
인증사진 모아보기 대표이미지 변경 API 연결
⛳️ 작업한 브랜치
👷 작업한 내용
🚨참고 사항
우선 인증사진 모아보기 대표이미지 변경은 보관함에서 대표이미지 URL을 받아서 인증사진 모아보기 뷰에 보내고, 다시 대표이미지 변경 뷰로 보내줘서 특정 cell의 인증사진 URL과 같으면 셀이 selected상태인 것으로 처리했습니다.
그리고 대표이미지 URL을 보관함에서부터 받아오기 때문에 보관함으로 돌아가지 않고 여러 번 대표이미지 변경을 하는 경우 바뀐 URL을 인증사진 모아보기로 전달해주기 위해서 delegate pattern을 사용했습니다.
그리고 뷰윌어피어에서 서버통신을 하게 되었기 때문에 무한스크롤에 문제가 생길 것 같은데, 이 문제는 추후에 해결해보도록...쿨럭
하기 위해서 일단 Size를 30으로 설정해 뒀습니다...!
📸 스크린샷
📟 관련 이슈