Skip to content
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

[Help] MyPartyViewModel 파티 나가기 함수 #110

Closed
YoonyoungL opened this issue Jun 15, 2022 · 3 comments
Closed

[Help] MyPartyViewModel 파티 나가기 함수 #110

YoonyoungL opened this issue Jun 15, 2022 · 3 comments
Assignees
Labels
help wanted 누구나 처리할 수 있는 이슈를 나타냅니다. 제리 톰과 제리

Comments

@YoonyoungL
Copy link
Collaborator

마이팟에서 참가한 택시파티를 떠나고 MyPartyViewModel의 myPartyList를 변경해줘야 하는데
현재는 삭제요청이 성공하면 다시 파티를 불러오고 있습니다. (관련 커밋 : 730aa33)

func leaveMyParty(user: User, party: TaxiParty) {
         myPartyUseCase.leaveTaxiParty(party, user: user) { [weak self] error in
             guard let self = self else {
                 print(error ?? "")
                 return
             }
             print("Leave Party, user:\(user.id), party:\(party.id)")
             self.getMyParties(user: user)
         }
     }

이때 서버에서 다시 불러오지 않고 MyPartyViewModel의 myPartyList에서 직접 제거해주는 것이 더 좋을까요?

private func deletePartyInList(party: TaxiParty) {
         if let index = self.myPartyList.firstIndex(of: party) {
             self.myPartyList.remove(at: index)
         }
     }
  • 택시팟에서 생성하거나 참가하기 전까지 내 택시팟은 추가되지 않음
  • 다시 불러오는 것보다 효율적인 것 같음

이런 이유 때문에 직접 제거해주는 것이 좋을 것 같다가도 서버에서 불러와서 맞춰주는 것이 좋을 것 같아서 헷갈려요..
어떤 방법이 좋을지 의견 부탁드립니다!

@YoonyoungL YoonyoungL added help wanted 누구나 처리할 수 있는 이슈를 나타냅니다. 제리 톰과 제리 labels Jun 15, 2022
@YoonyoungL YoonyoungL self-assigned this Jun 15, 2022
@SH0123
Copy link
Collaborator

SH0123 commented Jun 15, 2022

제가 댓글 달면 뇌피셜이어서 정확하지 않겠지만 생각을 적어봅니다.
직접 뷰모델에 있는 데이터를 제거해주는 경우 만약의 상황에 서버측 데이터와 달라질 수 있다고 생각합니다.
그런점을 방지하기 위해서 안정성 측면에서는 비효율적이더라도 getMyParties를 통해 불러오는게 좋지 않을까 생각해봅니다.
하지만 이 부분은 저도 모르기때문에 멘토님들의 도움을 받아보는게 좋을 것 같습니다.

@HoJongE
Copy link
Collaborator

HoJongE commented Jun 16, 2022

내가 참가한 파티는 유저의 직접적인 행동으로만 추가됩니다. 따라서 택시팟 추가, 참가와 같은 행동을 할 때 직접 클라이언트쪽에서 직접 추가하고, 택시팟 나가기 같은 경우도 직접 삭제하는 행동이 좋다고 생각됩니다

@YoonyoungL
Copy link
Collaborator Author

0bae9e6에 수정해서 커밋했습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted 누구나 처리할 수 있는 이슈를 나타냅니다. 제리 톰과 제리
Projects
None yet
Development

No branches or pull requests

3 participants