inflearn logo
강의

Course

Instructor

Part 2: Intermediate iOS Instagram Clone (SwiftUI, MVVM, Firebase, 2024)

62. Follow, Unfollow Feature Implementation

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

Resolved

107

ksw

16 asked

0

7:15까지 코드 따라하고, 구동하는데;;

아래와 같이 에러가 뜹니다...

 

Thread 3: Simultaneous accesses to 0x600003d332b0, but modification requires exclusive access

 

구동조차 안되고 바로

image.png

아래와 같이 떠버려요;;

 

이건 어떻게 해결할가요???

ios firebase swiftui mvvm

Answer 2

0

nightdaycoding

안녕하세요

xcode16에서 동시성 관련 문제가 엄격해져서 나타나는 문제인데요

checkFoolow 함수를 다음과 같이 바꾸시면 됩니다.

func checkFollow() {
    Task {
        let id = user?.id
        self.user?.isFollowing =  await AuthManager.shared.checkFollow(userId: id)
    }
}

 

관련해서 영상 추가해두겠습니다.

0

communityai8509

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

현재 코드에서 발생한 “Simultaneous accesses to 0x600003d332b0, but modification requires exclusive access” 오류는 메모리 접근과 관련된 문제로, 동시에 여러 장소에서 같은 메모리 위치에 접근하려고 할 때 발생합니다. 주로 Swift에서 데이터 보호를 위해 설계된 메커니즘과 관련이 있습니다.

오류 설명

  1. 동시 접근 문제: 이 오류는 같은 데이터에 대해 동시에 여러 접근을 시도할 때 발생하며, 특히 읽기와 쓰기 작업이 충돌할 때 나타납니다.

  2. Swift의 안전성 메커니즘: Swift는 메모리 안전성을 강화하기 위해 이와 같은 동시 접근이 발생하면 경고 또는 오류를 발생시킵니다.

해결 방법

  • 데이터 요청 정리: 문제가 발생하는 코드에서는 하나의 스레드에서만 데이터를 읽고 쓰도록 구조를 변경해야 합니다.

  • @MainActor 사용: 데이터의 상태 관리에서 메인 스레드에서 동작하도록 보장해야 하는 요소가 있을 경우, @MainActor 를 적용해 확인해봅니다. 예:

  @MainActor
  class SomeViewModel: ObservableObject {
      @Published var someData: SomeType
      // ...
  }
  • 연산 순서 조정: 특정한 순간에만 데이터에 접근하도록 연산 순서를 조정하거나, 상호 배제(Mutex) 등을 통해 교착 상태를 피할 수 있습니다.

다음 두 개의 질문 답변도 참고하시기 바랍니다. 비슷한 오류의 해결 방법을 제공하고 있습니다:

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

searchable이 화면 하단에 위치해요

0

62

2

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

0

79

2

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

1

72

2

Thread number가 다 1로 나옵니다

1

69

2

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

1

70

2

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

1

135

3

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

1

137

1

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

0

161

1

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

0

108

2

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

0

108

2

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

0

136

2

ViewModel과 Model 구분 (30강)

1

133

2

바인딩하는 이유

1

94

2

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

0

109

1

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

1

245

2

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

1

152

2

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

1

136

2

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

0

168

3

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

1

134

2

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

1

301

3

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

1

218

3

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

1

167

2

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

0

107

2

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

1

297

2