그동안 GCD의 개념을 잘못 이해하고 있어 제대로 각인시키고자 블로그를 작성해봅니다. 아래 코드에서 동작순서는 어떻게 되고 어떤게 먼저 끝나는지 헷갈렸던 부분이 있었습니다. 헷갈렸던 코드let queue = DispatchQueue.global()queue.async { task1() task2() task3()}//Task 1 시작//Task 1 완료★//Task 2 시작//Task 2 완료★//Task 3 시작//Task 3 완료★ 이전에는 async 내부의 로직들이 비동기로 처리되는줄 알고 있었습니다..🫠 위 로직의 실행 순서task1 → task2 → task3 코드블럭 { } 안에 있는 로직들은하나의 task로 보기때문에 순서대로 실행이 됩니다. task가 하나이기 때문에 아래..
문제 카메라 기능 작업중, 사용자가 카메라 접근권한을 허용하지 않을시 alert창을 띄워져야하는데 콘솔에 아래와 같은 에러가 뜨면서 앱이 꺼져버렸다. *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.' 에러내용을 보면 layout 엔진은 main thread에서 접근이 되었다면 background thread에서 수행되어서는 안된다. 위 내용을 바탕으로 에러가 났..
- Total
- Today
- Yesterday
- Swift 프로그래머스
- Swift joined
- swift reduce
- swift protocol
- ios
- Class
- 2023년 회고
- Swift
- 원티드 프리온보딩
- iOS error
- Swift RIBs
- Swift joined()
- Swift final
- CS 네트워크
- Swift init
- Swift 내림차순
- swift (programmers)
- Swift ModernRIBs
- swift programmers
- swift 고차함수
- swift property
- Swift 알고리즘
- Combine: Asynchronous Programming with Swift
- Swift 프로퍼티
- removeLast()
- Swift Leetcode
- RTCCameraVideoCapturer
- Swift inout
- RIBs tutorial
- Swift Error Handling
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |