일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SF Symbols 3.0
- detent
- NSUserActivity
- App Clip
- MDM
- profile
- SWiFT
- DriverKit
- async
- Reality Composer
- Physical Audio
- SF Symbols
- METAL
- Hand Pose Detect
- Object Capture
- Xcode Cloud
- Xcode Organizer
- AR Quick Look
- Hand Action Detect
- CoreML
- actor
- User Enrollment
- concurrency
- AVFoundation
- ProRAW
- WWDC 2021
- swiftUI
- AppleEvent
- Mac
- DooC
- Today
- Total
목록Swift (2)
nyancoder
Swift의 Property Wrapper를 사용하여, 전달되는 파라메터의 속성을 제한하는 방법을 알아볼 것입니다. 예를 들어 사용자의 입력을 받아 최대 20자의 제목을 등록하는 예를 들어 볼 것입니다. 기존 방법 이전에는 함수를 만들고 제약 사항을 벗어나면 예외를 만들거나, assert문으로 검증하는 아래와 같은 방법이 대표적이었습니다. 예를 들어 assert로 처리하면 아래와 같습니다. func register(title: String) { assert(title.count 20 { validTitle = String(title.prefix(20)) } else { validTitle = title } // do something.. } 하지만 이러한 코드는 전달받는 파라메터의 속성을 명확하게 드러나..
새 Swift버전에 Actor가 추가되면서 여러 스레드에서 접근했을 때 발생할 수 있는 여러 동시성 문제들을 해결하는 좋은 해결책 중 하나로 관심을 받고 있습니다. 기존에도 동시성 문제를 해결하기 위해서 각종 Lock이나 DispatchQueue 등을 활용하여 문제를 해결할 수 있었지만, Actor를 사용하면 컴파일러가 근본적으로 동시성 문제를 확인하고 오류를 일으킬 수 있습니다. Actor의 역할은 크게 세 가지로 볼 수 있습니다. 코드 생성 단계 - actor내에 선언된 함수에 async를 자동으로 적용해주고, actor의 구현에 필요한 코드를 자동으로 생성해 줍니다. 컴파일 단계 - 동시성 문제가 발생할 수 있는 코드를 작성하면 컴파일러가 오류를 일으켜서 수정하도록 해 줍니다. 실행 단계 - 각 코..