일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FLUTTER
- Apple
- 이미지
- Archive
- Swift
- error
- geofencing
- iOS16
- SwiftUI
- Notification
- window
- darkmode
- github
- mac
- 웹뷰
- Session
- Realm
- MacOS
- Code
- 한글
- UIButton
- Git
- Firebase
- IOS
- JPA
- Xcode
- 개발자
- rxswift
- appstore
- view
- Today
- Total
목록async (3)
EEYatHo 앱 깎는 이야기

applicationWillTerminate UIKit > UIApplication.h > applicationWillTerminate 을 가지고 앱 종료 직전을 컨트롤할 수 있음. 해당 메소드가 return 되면, 시스템이 앱을 종료한다. 앱 종료 지연 및 async 작업 applicationWillTerminate 메소드에 sync 코드를 넣으면 다 실행하고 종료되지만, NotificationCenter, API 호출 등의 async 작업은, 미처 실행되기 전에 함수가 종료되서, 동작하지 않는 경우가 발생한다. 이를 방지하기 위해서는 return 을 지연(sleep) 시키면 된다. 문서에 따르면 최대 약 5초까지 지연시킬 수 있다. 코드 /// 해당 함수가 반환되면 시스템이 앱을 즉시 종료. /// ..

async/await Thread 와 GCD 이후, Swift 5.5 에서 나온 최신식 동시성 지원 API 정확히는 키워드(async)와 피연산자(await) 코루틴 모델을 도입 ( 실행을 일시정지 할 수 있는 함수 ) async/await-propasal 링크 탄생 배경 들여쓰기가 가득한 콜백 지옥의 비동기 코드들이 존재할 수 있음 특히나, 분기를 거처서 한쪽에만 비동기 코드가 필요한 경우, 더더욱 들여쓰기와 콜백 지옥이 발생하기 쉬움 콜백은 오류 처리와 함께 사용할 때, 구현부를 장황하게 만듬 콜백 호출이나 return문을 까먹는 경우도 자주 발생 func processImageData(completionBlock: (_ result: Image?, _ error: Error?) -> Void) { ..

Concurrency CPU 칩은 발달을 거듭해 열과 같은 물리적 법칙 한계로 코어당 성능을 더이상 끌어올리기 힘들어졌고, 칩이 가지고 있는 코어를 늘리는 방향으로 발전하고 있다. 코어의 갯수는 계속해서 늘어날 것으로 예상된다. 이에 소프트웨어 개발자는 멀티코어(동시성) 프로그래밍을 어떻게 잘 할 수 있을지 고민해야한다. 애플 문서 링크 iPhone 14 CPU 코어 6개 Thread 개발자가 여분의 코어를 제어하는 전통적인 방법은 Thread(쓰레드)를 사용하는 것이다. 쓰레드를 생성하고 해제하면서 여분의 코어를 이용해 병렬적으로 Task를 처리한다. 스케쥴링은 CPU가 알아서 해준다. let thread = Thread { print("My Awesome Thread") } thread.start()..