RxSwift 4

Alamofire + RxSwift + MVVM

우선 RxSwift는 Return을 통해 데이터를 가지고 온다. Rxswift를 사용하기 전에는 Alamofire으로 통신하는 경우 @escaping을 통해 데이터를 viewModel로 가져온 뒤 같은 방법으로 View로 데이터를 전달하였다. 해당 방법을 사용하면 코드가 복잡해지고 직관적이지 못하다는 단점이 있다. (저는 그렇더라고요..ㅎ) 그래서! 우선 먼저 전체적인 흐름을 설명하자면 Alamofire post 통신을 한 후 Observable을 이용하여 ViewModel 데이터를 가져온다. 가져온 데이터를 다시 Alamofire get 통신을 한 후 Observable을 이용하여 ViewModel 데이터를 가져온다. ViewModel로 가져온 데이터를 Observable을 이용하여 View로 보낸다...

iOS/RxSwift 2023.03.05

MVVM 패턴 적용

아이디, 비밀번호를 입력했는지 감지하는 기능 사용한 라이브러리: UIKit, SnapKit, RxSwift, RxCocoa (storyboard 사용 X) 설명: 아이디 비밀번호를 입력한 경우 버튼 문구가 '로그인'으로 변경된다. 둘 중 하나라도 입력하지 않은 경우 '정보 부족'을 출력한다. □ View import UIKit import SnapKit import RxSwift class ViewController: UIViewController { /* UI 생성 코드 */ //ID Label lazy var IdLabel: UILabel = { let l1 = UILabel() l1.font = .systemFont(ofSize: 20) l1.text = "아이디" return l1 }() // P..

iOS/MVVM 2023.01.18

RxSwift 사용

RxSwift RxSwift는 데이터가 Stream 방식으로 흘러간다. Observer Observable안에 있는 내부 인스턴스들로 Observable의 값에 변화가 있을 때 Observer에게 알림이 가고, 등록한 Closure 실행 Subject Observable과 Observer의 성격을 모두 가지고 있는 Protocol (이벤트 방출과, Subscribe를 이 타입 하나로 모두 가능) subject 없이 이벤트 처리를 한다면 observer, Observable 두개 타입이 필요 Observable은 1:1로 이벤트를 방출하지만 1:multi로 이벤트를 여러 Observer에게 송신 Observable RxSwift에서 제공하는 "나중에 생기는 데이터" 타입의 이름 Observer 인스턴스를 ..

iOS/RxSwift 2023.01.14

(2022-12-17) 오랜만에 돌아온 정보 탐색

앞으로 겨울 방학 동안 공부할 리스트를 만들고 조금 찾아보려 한다. Swift 문법 iOS앱의 기본 언어인 Swift를 조금 더 자세하게 공부하려고 한다. 그래서 Swift 문법 관련해서 3~4일 정도 Swift 문법 연습과 Swift의 기본적인 원리를 집중적으로 공부할 것 같다 :) 예를 들어 enum, class, struct, tuple, dictionary, set, closure를 집중적으로 해야 한다. 나중에 공부할 때 해당 링크를 참고하면 좋을 것 같다. http://tech.inswave.com/2018/04/02/Swift/ Storyboard Autolayout 이번 컴퓨터응용설계 팀 프로젝트를 진행하면서 Autolayout에 많은 부족함을 느꼈다. 지금까지 사용해본 Storyboard..