Swift를 공부하다보면 자주 만나는 단어들이 있다.
오늘은 그 중 3가지를 가져와서 정의만 간단히 정리해보고자 한다.
추후 비동기 프로그래밍을 간단한 예제를 만들어보며 더 자세히 올려볼 생각이다!
그리고 가능하다면 금주 안으로는 기본 제일 먼저 짚고 넘어 갔어야 할 함수형 프로그래밍 이론에 대한 정리를 해보고자 생각 중 이다 ㅜㅜ
정의
- ARC
: Auto Reference Counting의 약자로써 참조 카운트를 스스로 체크하여 메모리 관리를 해주는 도구
: 컴파일 타임에 참조 카운트를 증가시키는 retain과 감소 시키는 release을 적절 위치에 삽입하므로써 메모리 관리를 도와주는 도구
- RxSwift
: Reactive eXtensions의 약자로 비동기식 프로그래밍 혹은 이벤트 기반 프로그램을 편리하게 만들 수 있도록 Swift로 만든 라이브러리
: 관찰 가능한 시퀀스 또는 함수 형태의 연산자를 이용해 비동기 또는 이벤트를 위한 프로그램을 구현할 수 있도록 구성된 Swift 라이브러리
: 각각의 Observer가 Observable을 구독하고 이벤트가 발생하면 반응하는 방식으로 사용한다
- Combine
: 이벤트 처리 연산자를 결합하여 비동기식 이벤트 처리를 맞춤 제작하는 Apple에서 제공하는 프레임워크
: 시간 경과에 따라 값을 처리하기 위한 선언적 Swift API를 제공하는 것
: Publisher는 시간이 지남에 따라 변경될 수 있는 일련의 값을 전달할 수 있도록 선언하고, Subscriber는 받는 요소에 따라 작동하도록 선언하여 사용함
차이점
RxSwift | Combine |
- 내부적으로는 DispatchQueue와 같은 코드를 사용하여 작동하며, 이처럼 랩핑되어있기에 느리며 많은 메모리를 소요한다 - iOS 8.0이상 |
- Apple에서 공식적으로 제공하는 프레임워크로 빠르고 메모리 소요가 적다 - iOS 13.0이상 |
참고사이트
- https://daesiker.tistory.com/m/95
- https://sujinnaljin.medium.com/ios-arc-%EB%BF%8C%EC%8B%9C%EA%B8%B0-9b3e5dc23814
- https://ios-development.tistory.com/95
- https://duwjdtn11.tistory.com/583
- https://developer.apple.com/documentation/Combine
- https://icksw.tistory.com/271
- https://eunjin3786.tistory.com/67
'EXPERIENCE > ETC' 카테고리의 다른 글
ICC, ICM Profile이란? Color Profile에 대해 알아보자 (0) | 2023.08.13 |
---|---|
프레임워크(Framework), SDK, 라이브러리(Library), 플러그인(Plug-in), API 설명할 수 있을 때까지! (with. 차이점 및 예시) (0) | 2023.02.01 |
구글 로그인(Google Login) OAuth 동의화면 앱 이름 및 정보 변경 (0) | 2023.01.26 |
[SourceTree/Github] 소스트리 원격 저장소 연결하기 (with. repo Token) (0) | 2023.01.10 |
검색엔진(Google, Naver)에 내 글 또는 티스토리 사이트 노출시키기 (with. RSS, sitemap) (0) | 2022.12.29 |