Swift Concurrency
-
[Swift] TaskPriority, Task 우선순위 동작 이해하기Swift 2025. 3. 21. 10:40
TaskPriority 는 말 그대로 Task의 우선순위를 뜻합니다. 직관적이고 간단한 개념이지만 Task의 우선순위와 관련한 개념에 대해 조금 더 확실하게 알아보겠습니다. # 기본 개념TaskPriority는 스케줄링 힌트일 뿐, 반드시 이 우선순위에 따라서 실행된다는 보장은 없습니다.@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)public struct TaskPriority : RawRepresentable, Sendable 케이스case high // 사용자 인터페이스 등 즉시 반응이 필요한 작업case userInitiated // 사용자가 명시적으로 시작한 작업, 빠르게 끝나야 함case medium // 일반적인 ..
-
swift concurrency 사용해 이미지 권한 얻기iOS 2023. 11. 29. 19:49
[ 💡 3줄 요약 ] iOS 14 부터는 이미지 권한을 얻는 새로운 api 가 추가됨. (async, closure 모두 지원.) limited status 가 생겼으니 deprecated 된 기존 권한 얻는 방식을 사용할 경우 주의가 필요함. Concurrency 로 구현한 코드. func hasPhotoLibraryAuthorization() async -> Bool { if #available(iOS 14, *) { let status = await PHPhotoLibrary.requestAuthorization(for: .readWrite) return status == .authorized || status == .limited } else { return await withCheckedCont..
-
task(priority:_:)SwiftUI 2023. 1. 28. 14:29
Adds an asynchronous task to perform before this view appears. 뷰가 나타나기 전에 비동기 작업을 추가한다. iOS 15 부터 지원하는 instance method 이다. 기존에는 비동기 작업을 하려면 아래와 같이 Task 를 사용해야했는데, ... var body: some View { aView { } .onAppear { Task { await load() } } } 아래와 같이 더 간편하게 사용할 수 있다. ... var body: some View { aView { } .task { await load() } }