Core Data 안정성 문제

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 은지짱
      참가자
      • 글작성 : 13
      • 답글작성 : 7

      Coredata 사용에 대해 공부하던 중 궁금한 점이 생겼습니다.

       

      NSManagedObject, NSManagedObjectContext, NSPersistentStoreCoordinator 는

      스레드에 안정적이지 않다고 하는데, 문서를 읽어봐도 정확한 이해가 가지 않아서 질문 드립니다.

      안정적이지 않다는 것은 가끔 오류가 발생한다는 말인가요?

      그렇다면 coredata 는 되도록이면 쓰지 않는 것이 최선인가요??

       

       

    • 🐛
      참가자
      • 글작성 : 2
      • 답글작성 : 6

      코어데이터에서 스레드 안전하지 않다는 표현은 NSPersistentStoreCoordinator에서 NSManagedObjectContext가 1개 이상일 수 있고 Context 별로 실행하는 스레드가 다를 수 있으므로 여러개의 Context에서 동시에 같은 NSManagedObject를 변경하고 저장할 경우 데이터 무결성을 보장하지 않는 다는 말입니다.

      만약 같은 모델을 빈번하게 변경하여 스레드 안전성을 보장해야 하는 경우 GCD나 Lock같은 기능을 사용하여 스레드 안전하게 만들어 주시면됩니다.

      또한 코어데이터 이외에도 CocoaTouch 및 Swift는 기본적으로 스레드 안전하지 않습니다.

       

      • 야곰
        키 마스터
        • 글작성 : 37
        • 답글작성 : 580

        우앗, 답변 달려고 왔는데 먼저 좋은답변 달아주셨네요!
        엄지척 누르고 갑니다

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom