본문 바로가기

iOS (스파르타)/Swift 문법

문법 심화 - RxSwift 맛보기

RxSwift는 Swift 언어로 작성된 함수형 반응형 프로그래밍을 위한 라이브러리로, 옵저버블 시퀀스와 이벤트 기반 프로그래밍을 간편하게 처리할 수 있도록 지원합니다

 

library

  • 이브러리(Library)는 프로그래밍에서 재사용 가능한 코드 모음을 말합니다. 일반적으로 특정 기능을 수행하는 코드의 모음이며, 다른 프로그램이나 프로젝트에서 사용할 수 있도록 설계되어 있습니다. 라이브러리를 사용하면 반복적이고 표준화된 작업을 수행하는 코드를 재사용하여 개발 시간을 단축하고 효율적인 개발을 할 수 있습니다.
  • 라이브러리는 다양한 형태와 목적으로 제공됩니다:
    • 표준 라이브러리(Standard Library): 대부분의 프로그래밍 언어는 기본적으로 제공하는 표준 라이브러리가 있습니다. 이는 언어 자체에서 제공하는 기본 함수, 자료구조, 파일 입출력, 문자열 처리 등의 기능을 포함합니다. 예를 들어, Swift의 표준 라이브러리는 Swift 언어와 함께 제공되는 기본 기능들을 포함합니다.
    • 서드파티 라이브러리(Third-party Library): 개인이나 조직이 개발한 외부 라이브러리로, 다른 프로그래머들이 사용할 수 있도록 공개되어 있습니다. 네트워킹, 데이터베이스 연결, UI 구성 요소, 이미지 처리, 암호화, 데이터 분석 등 다양한 기능을 제공합니다. 대부분의 언어에서는 해당 언어나 플랫폼에 맞는 다양한 서드파티 라이브러리가 존재합니다.
  • 라이브러리는 보통 함수, 클래스, 모듈, 프레임워크 형태로 제공되며, 이를 프로젝트에 추가하고 활용하여 개발자가 직접 해당 기능을 구현하지 않아도 됩니다. 이러한 재사용 가능한 코드들은 효율적인 개발과 유지보수를 도와줍니다.

Dependency Manager

  • Dependency Manager(의존성 관리 도구)는 프로젝트에서 사용하는 다양한 라이브러리 및 외부 의존성들을 관리하고 프로젝트에 효과적으로 통합하기 위한 도구입니다. 이러한 도구를 사용하면 라이브러리를 손쉽게 가져오고 버전을 관리하며, 프로젝트에서 필요로 하는 의존성들을 효율적으로 관리할 수 있습니다.
  • 대표적인 Dependency Manager
    • CocoaPods: iOS 및 macOS 애플리케이션을 위한 Swift/Objective-C 프로젝트의 의존성을 관리하는 도구입니다. 라이브러리를 손쉽게 가져올 수 있고, 프로젝트 설정을 간소화할 수 있습니다.
    • Carthage: CocoaPods와 유사하지만, 프레임워크의 빌드를 사용하여 의존성을 관리합니다. 빌드된 프레임워크를 프로젝트에 수동으로 추가해야 합니다.
    • Swift Package Manager (SPM): Swift 프로젝트의 패키지 의존성을 관리하는 공식적인 Swift 도구입니다. 애플의 공식 지원을 받고 있으며, Swift-only 프로젝트에서 사용됩니다.

RxSwift 사용법

 

 

 

RxSwift 이란

RxSwift는 ReactiveX(Reactive Extensions) 패턴의 Swift 버전으로, Swift 언어로 작성된 반응형 프로그래밍을 위한 라이브러리입니다. RxSwift는 데이터 스트림과 이를 다루는 연산자들을 통해 비동기 및 이벤트 기반 프로그래밍을 지원합니다.

  1. Observable:
    • 데이터 스트림을 나타내는 타입으로, 데이터의 변화나 이벤트를 방출(emit)합니다.
    • Observable은 이벤트 시퀀스를 발생시키는데 사용됩니다. 이 이벤트는 next, error, completed와 같은 종류가 있습니다.
  2. Observer:
    • Observable에서 방출된 데이터나 이벤트에 반응하는 객체로, 이를 구독(subscribe)하여 데이터의 변화를 감시하고 처리합니다.
  3. Operator:
    • Observable을 변형하거나 조작하는 함수로, 데이터 스트림을 조작하기 위해 사용됩니다.
    • RxSwift에는 많은 다양한 연산자들이 포함되어 있어서 데이터를 필터링하거나 변환, 결합, 조작하는 등의 작업을 수행할 수 있습니다.
  4. Schedulers:
    • 비동기 코드의 실행을 관리하는데 사용되며, 작업이 어느 스레드에서 실행되는지 제어합니다.
    • 메인 스레드에서 UI 업데이트를 수행하거나 백그라운드 스레드에서 작업을 수행하는 등의 일을 스케줄링할 때 사용됩니다.

 

와.. 코코아팟 설치때문에 시간 다버렸다;;; 루비? 버전이 낮다고 다시 깔고 아주 난리난리

 

지씨한테 물어보고 검색창에 검색해보고.. 하,, 힘들었다 정말,,

나 터미널 너무 어려워 ㅠ

그래도 만들어내기 성공 ㅠㅠㅠㅠ 휴 진짜 쫘증나네