Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- MVVM
- 애니메이션
- ios
- 리펙터링
- ribs
- UITextView
- 스위프트
- map
- Xcode
- clean architecture
- SWIFT
- UICollectionView
- RxCocoa
- Clean Code
- Human interface guide
- swiftUI
- combine
- tableView
- rxswift
- 리펙토링
- HIG
- Refactoring
- uitableview
- uiscrollview
- 리팩토링
- swift documentation
- Protocol
- collectionview
- Observable
- 클린 코드
Archives
- Today
- Total
목록MVVM 구조 (1)
김종권의 iOS 앱 개발 알아가기
[iOS - swift] MVVM 구조에서 안전하게 dataSource 관리하는 방법 (DispatchQueue, 스레드, Background, Memory Safety, 크래시)
dataSource 관리 MVVM 구조에서 보통 dataSource를 사용할 때 아무런 큐 없이 구현하지만, 데이터 처리 최적화를 위해 background 시키고 싶은 경우 중간중간 DispatchQueue.global()를 사용하거나 커스텀 큐를 사용하는 경우가 존재 개발자가 실수로 DispatchQueue.global()를 사용하게 되면, 이 큐는 serial이 아닌 concurrent이므로 value type인 dataSource 배열을 수정과 동시에 읽기를 하다가 크래시가 발생하는 경우가 존재 크래시 - 이전 Memory Access Conflict 글 참고 이럴때는 커스텀 큐를 선언하여 관리하는것이 가장 좋은데, 먼저 queue의 종류를 이해가 필요 DispatchQueue의 종류 3가지 * 이..
iOS 응용 (swift)
2023. 7. 29. 20:48