Rx를 사용한지 4개월정도 된 거 같다. 사실 Rx가 러닝커브가 높다는 얘기는 많이 들었지만, 깊숙히 들어가지 않고 좋은 레포 찾아서 적용하는 과정에서는 사용하는데 크게 문제가 되지 않아서 야무지게 잘 사용하고 있었다. 하지만 드디어 근본적인 문제들에 맞딱뜨리게 되었다. 그렇기에 예전에 문법공부를 한 것처럼 Rx를 좀 쑤셔파는 공부를 시작해보려고 한다.
<aside> ⭐ 결론적으로 이번 아티클에선 “Rx 왜 써?” 라는 질문에 “비동기 처리하려고.” 라는 아는 척 하는 대답을 그만하고 싶은것이다. 그러면 아래 초록 글씨 두개부터 해결해야 한다.
</aside>
**RxSwift
**는
중점을 둔 라이브러리입니다.
프로그램이 상태의 변화 없이 데이터 처리를 수학적 함수 계산으로 취급하고 하는 프로그래밍
<aside> ⭐ 값이나 상태의 변화(How)보단 함수 자체의 응용을(what)을 중요하게 여긴다.
</aside>
이렇게 말로만 설명하면 아마 체감이 안 올겁니다.
그래서 함수형 프로그램과 반대되는 명령형 프로그래밍 코드와 비교해서 설명해보겠습니다.
코드를 통해 알아보자. 만약 내가 아래와 같이 솝트 회원의 파트 리스트를 가지고 있고,
무엇을 어떻게 할 것인지에 초점을 가지는 프로그래밍
let sopt = ["iOS", "iOS", "AOS", "SERVER", "PLAN", "iOS", "WEB", "DESIGN"]
아요 회원만 print를 하고 싶다면 기본적으로 아래와 같이 코드를 작성할 것이다.
var ios: [String] = []
for part in sopt {
if part == "iOS" {
ios.append(part)
} else {
print("아요 빼고 다 나가. 뒈지기 싫으면")
}
}
print(ios)
이 코드를 설명하시오! 라고 말을 하면 우리는 말 그대로 코드를 읽으면서 설명할 수 있다.