Stackoverflow question에서 언급 한 리더/라이터 패턴이 UI 업데이트에 어떻게 작용합니까? UICollectionView의 데이터 소스에 대해 리더/라이터 패턴 (이 질문에서 언급 한 바와 같음)이있는 배열을 사용하는 경우 콜렉션 뷰의 삽입/삭제/재로드 메소드 호출이 사용되는 방식은 무엇입니까? 간단히 말해서, UI 부분이 어떻게 그러한 독자 (필자 패턴 코드)에 들어갈 수 있는지 알고 싶습니다.Swift : 배열 판독기 기록기 패턴 및 UICollectionView 업데이트
0
A
답변
0
UI의 모든 항목은 주 스레드에서 실행해야하며 개체 배열은 스레드로부터 안전하지 않습니다. 따라서 주 스레드가 아닌 다른 스레드에서 데이터를 편집하고 UI (주 스레드)에서 데이터를 읽는 경우 예기치 않은 문제가 발생할 수 있습니다. 링크의 리더/라이터 패턴은 쓰기가 한 번에 하나씩 (동기식으로) 발생할 수 있는지 확인하여 스레드 안전성을 보장합니다. 그런 다음 백그라운드 스레드에서 데이터 소스를 편집하고 가끔씩 앱이 손상되는 일없이 안전하게 메인 스레드의 uicollectionview를 업데이트 할 수 있습니다.
그러나 데이터 소스에 핵심 데이터 개체가있는 경우 주 스레드에서 실행되는 관리되는 개체 컨텍스트에서 개체를 가져와야합니다. 백그라운드 스레드에서 실행되는 관리 객체 컨텍스트를 사용하여 데이터를 편집하는 경우 변경 사항을 상위 컨텍스트로 푸시 한 다음 데이터를 사용하여 콜렉션 뷰를 업데이트하기 전에 주 스레드에서 실행되는 moc를 사용하여 변경 사항을 읽어야합니다 . 이 경우 리더/라이터 패턴은 도움이되지 않습니다.
관련 문제
- 1. Clojure에서 STM을 사용하는 판독기 - 기록기
- 2. 계층 구조 및 판독기 기록기 뮤텍스 잠금
- 3. 다중 판독기 및 다중 기록기 (다중 의미) 동기화
- 4. java - 파일 판독기/기록기 충돌 및 작동하지 않음
- 5. UICollectionview footer in swift
- 6. Swift 3의 UICollectionView + NSFetchedResultsController
- 7. Writer 블록으로 부스트 된 다중 판독기, 단일 기록기 잠금
- 8. Swift : UICollectionView invalidateLayout이 트리거되지 않음
- 9. Swift : 오디오 파일 배열
- 10. Swift : UICollectionView 셀의 단추 숨기기
- 11. Swift UICollectionView : didSelectItemAtIndexPath 응답이 없습니다.
- 12. Swift : CollectionView 업데이트 Cell Image
- 13. 업데이트 plist - swift
- 14. Swift, stringByReplacingOccurencesOfString 및 대체 배열
- 15. SWIFT : 배열
- 16. 프로세스 간 판독기 기록기 잠금 (또는 파일 핸들 및 액세스가 거부 됨)
- 17. UICollectionView 셀을 통한 빠른 열거 - Swift
- 18. ios8/Swift : UICollectionView 셀 내부의 버튼입니까?
- 19. F # 배열 및 패턴 일치
- 20. 배열 패턴 및 바꾸기가있는 preg_replace_callback
- 21. 강제 업데이트 오프 스크린 UICollectionView
- 22. JAVA의 SOAP 판독기 및 작성기?
- 23. 배열 업데이트 및 삽입
- 24. NFC 판독기/기록기 acr122u 용 SDK가 읽기/쓰기 응용 프로그램을 작성하는 데 필요합니까?
- 25. PHP 페이지 방문 기록기
- 26. UICollectionView 배열 인덱스가 범위를 벗어났습니다.
- 27. Swift FBSDKLogin Swift 3 AppDelegate 업데이트
- 28. 업데이트 모델 Realm Swift
- 29. 업데이트 RLMObject는 Swift/IOS입니다.
- 30. Swift HealthKit 업데이트 생일