inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

xcode16 folder 시스템 (24년 12월 추가)

75강 까지 마무리후 소스 오류 사항 문의

109

랑프_Langpeu

작성한 질문수 21

0

75강 마무리 후
다른 사용자의 프로필 들어가서 팔로우 하면
위에 팔로잉수가 실시간으로 변경되야 하는데
안되네요.

확인 부탁드립니다.

강의 자료용 소스도 동일하게 작동 안합니다.
Xcode16 / iOS18.2

스크린샷 2024-12-31 오후 12.47.48.png

 

ios firebase swiftui mvvm

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 랑프_Langpeu님.

다른 사용자의 프로필로 이동하여 팔로우를 했을 때 팔로잉 수가 실시간으로 반영되지 않는 문제를 언급하셨군요. SwiftUI와 MVVM 패턴을 사용하는 경우, 이와 같은 실시간 데이터 업데이트 문제는 주로 데이터 바인딩 및 ViewModel에서 상태 관리 방식을 통해 해결할 수 있습니다.

문제 해결 방법:

  1. ViewModel에서 데이터 상태 확인:

    • ViewModel의 @Published 속성이 제대로 설정되어 있는지 확인해 보세요. 팔로우 상태나 팔로잉 수가 변경될 때 @Published 변수가 자동으로 업데이트되어 뷰에 반영될 수 있도록 설정이 필요합니다.
  2. Firebase 실시간 업데이트:

    • Firebase Firestore를 사용하고 계시다면 Firestore의 실시간 리스너 기능을 활용하여 데이터가 변경될 때마다 자동으로 뷰모델의 데이터가 업데이트되도록 설정할 수 있습니다. 예를 들어, documentSnapshot.listen 함수를 통해 데이터 변화를 감지하고 뷰모델을 업데이트할 수 있습니다.
  3. 뷰 업데이트 트리거 확인:

    • 팔로우 버튼을 클릭한 후, 해당 변화가 데이터를 업데이트하도록 바인딩되어 있는지 확인해 주세요. 예를 들어, 팔로우/언팔로우 동작 후에 데이터가 성공적으로 업데이트되었는지를 검증할 수 있는 트리거가 Setup 되어 있는지 점검해 보세요.
  4. 상태 동기화 방법 고려:

    • SwiftUI의 onAppear@State와 같은 속성을 활용하여 화면이 나타날 때마다 데이터를 재확인하고 업데이트하는 방법을 사용할 수 있습니다.

이 문제의 경우, 관련하여 기존에 비슷한 문제를 빠르게 해결할 수 있는 몇 가지 유용한 참고 링크를 소개해 드리겠습니다:

이와 같은 데이터 업데이트 접근 방식을 통해 팔로우 상태 변경 시 프로필의 팔로잉 수가 정상적으로 실시간 반영되도록 개선할 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

searchable이 화면 하단에 위치해요

0

60

2

warning 하나가 있는 것 같습니다. 해결방법좀 알려주세요

0

79

2

설계 관련하여 참고할 문서나 예제 공유가 가능할까요?

1

71

2

Thread number가 다 1로 나옵니다

1

69

2

'loadAllPosts' 를 매번 사용해야 하나요?

1

69

2

75강 실시간으로 팔로우수 안늘어나는 이유?

1

135

3

예전코드도 배워야 할까요?

1

137

1

ProfileView에서 toolbar이용시 문제점 발생, 로직이 이해가 되지 않습니다.

0

161

1

62강 Follow, Unfollow기능구현에서,,

0

107

2

애구마선생님, 다음 프로젝트 강의는 언제 올려주세요???

0

108

2

51강 10:22에서 이미지 여러장이 나오지 않아요;;

0

108

2

52강 post데이터가 불러와지지 않아요,,,

0

135

2

ViewModel과 Model 구분 (30강)

1

133

2

바인딩하는 이유

1

94

2

SwiftUI main actor 관한 경고 계속 뜹니다.

1

245

2

45강의 에서 Kingfisher 사용후 발생하는 swift6 이슈

1

152

2

19강에서 Encoder()를 사용할 수 없습니다.

1

135

2

40. 강에서 정상작동 안합니다.

0

168

3

프로필 수정 후 변경된 내용을 피드에 바로 반영되도록 하고 싶습니다.

1

134

2

15강에서 발생한 문제에 대해서 질문이 있습니다!

1

301

3

13강 코드 작성 후 피드의 유저 데이터가 보이지 않는 문제

1

217

3

혹시 다음 강의 대략 언제쯤 완료되시는지 알 수 있을까요??

1

166

2

섹션7 뷰 리팩토링 질문있습니다.

0

106

2

firebase에서 데이터를 불러오는데 오류가 발생합니다.

1

296

2