일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 객체지향
- 추상화
- 컴파일 타임 의존성
- 믹스인
- 상속
- 오브젝트
- 행동 호환성
- 알고리즘
- 서브 타이핑
- OOP
- 일관성 있는 협력
- Swift#flatMap#map#Monad#함수형 프로그래밍#Optional
- '기존 설계 재사용
- 설계 재사용
- 런타임 의존성
- 책임주도설계
- dip
- 메서드를 통한 해결
- 명령-쿼리 분리
- OCP
- 상속 조합 폭발적 증가
- 다형성
- 합성
- 유여난 설계
- 의존성
- iSP
- 유연한 설계
- Apple # HIG #iOS15 #iOS14 #Human #Interface #Guidelines #Apple developer # Apple human interface guidelines
- 객체 생성 사용 분리
- 하향식 접근
Archives
- Today
- Total
목록async #await #swift Concurrency #concurrency #actor #concurreny 원리 #concurreny 개념 (1)
도니의 iOS 프로그래밍 세상

1. Swift Concurrency의 도입 배경 iOS 13.0부터 도입된 Swift Concurrency는 비동기 프로그래밍을 보다 편리하게 할 수 있습니다. 그전에, Escaping closure를 사용해서 비동기 처리하는 방식의 문제점은 두가지였습니다. 첫번째로, 가독성이 좋지 않고, 복잡한 코드일수록 중첩된 클로저를 계속해서 작성해야 합니다. 두번째로, 중첩 클로저를 작성하며 에러코드 작성까지 완벽하게 하는 것은 힘들며 이로인해 프로그램 버그를 유발할 수 있습니다. 밑에 코드를 살펴보시죠. 해당 함수는 썸네일 이미지를 다운로드 받는 함수입니다. 이때, 이미지를 서버로부터 다운로드 받을때 escaping closure가 호출됩니다. 그리고 받은 데이터를 가지고 다시 prepareThumnail이라..
Swift
2023. 2. 8. 18:34