Async/Await (12)
시나리오: 간단한 숫자 증가 앱 class Counter { var value = 0 func increment() -> Int { value += 1 return value } } struct ContentView: View { var body: some View { ...
시나리오: 간단한 숫자 증가 앱 class Counter { var value = 0 func increment() -> Int { value += 1 return value } } struct ContentView: View { var body: some View { ...
Bank Account Playground 만들기 class BankAccount { var balance: Double init(balance: Double) { self.balance = balance } func withdraw(_ amount: Double) { ...
Async Sequence를 지원하는 API URL FileHandle URLSession NotificationCenter 또한 우리가 알고있는 고차함수 map, compactMap, filter, first, prefix, zip 등을 활용할 수 있다. WWDC 1. FileHandle URL은 직전에 했기에 FileH...
AsyncSeqeunce 지진정보를 가지고 해보려한다. 1. without AsyncSequence 우선 여기서 특이점이라면 extension URL { func allLines() async -> Lines { Lines(url: self) } } struct Lines: Sequence { ...
Concurrent Tasks 이번엔 동시에 작업을 생성하는 방법에 대해 다뤄본다. Async let 이 작업은 여러 하위 작업(Child Tasks)을 가질 수 있다. 하위 작업은 async let 구문을 사용하여 생성되며, 결국 async let은 변수와 같은 역할을 한다. 이를 통해 이러한 작업이...
Structured Concurrency ? WWDC21에 해당 관련 설명이 있다. 한번 봐두는것도 좋을듯 아래는 WWDC에 나온 리소스 링크 Structured Concurrency Docs async let 우선 Structured Concurrency는 아래와 같이 있다. Async let Task Group Unstruc...
이제 공부한 내용을 새로운 프로젝트를 통해 적용해보도록 한다. 여기선 News App을 만들것이고 URLSessoin Async/Await Continuation DispatchQueue to MainActor 이렇게 3가지를 적용해본다. 현재 프로젝트에서 func fetchSources(url: URL?, completion: ...
Async/Await Apple이 제공하는 Async/Await 지원 API Apple은 여러 API에서 이미 async/await을 지원한다: URLSession HealthKit Notification Core Data MusicKit 기존 작성된 코드들의 문제점 기존에 작성한 코드가 completion handlers나...
MVVM 디자인 패턴 적용하기 Async_Await (2)에서 했던 프로젝트를 이어서 진행한다. 구현할 매커니즘에 대해 간략하게 표현하면 다음과 같다 Webservice 구현 Webservice 클래스 파일을 하나 만들어 준다. 그리고 기존에 구현했었던 getDate 함수를 옮겨준다. class Webservice { p...
이번 섹션은 MVVM에 대한 내용을 다루는듯 하다. 시작하기전 Design Pattern에 대해 먼저 다루고 시작한다. Design Pattern ? 참고글이 너무 잘되어있어서 이걸 보면 좋을듯. 일반적으로 디자인 패턴이라고 하면 디자인 패턴은 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위한 모범 사례이다. 주로 클래스와 객체 간...