[RxSwift]初心者がRxSwiftを触ってみた①


最近転職活動しており、企業の求人などをみていると「RxSwift」の文字を見かけることが多く、気になっていたが、時間が取れず、学習することができていなかった。ようやく時間が取れたので、公式のExsampleを触ってみました。ただ、概念を理解するには時間がかかると思い、まずは慣れることを優先しました。
RxSwift

公式のExsample
上記のリンクに、Exsampleがあるので、写経した後にコードの意味を調べながら、理解を深めることにしました。

sample.swift
import UIKit
import RxSwift
import RxCocoa/

class ViewController: UIViewController {

    @IBOutlet weak var number1: UITextField!
    @IBOutlet weak var number2: UITextField!
    @IBOutlet weak var number3: UITextField!

    @IBOutlet weak var result: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        //Observableで値の監視をスタート?
               //combineLatestで値を随時、結合
        //mapは全要素に適用したい時に使用する
        //descriptionで文字型に変換
        //bindで監視した値を縛り付ける
        Observable.combineLatest(number1.rx.text.orEmpty, number2.rx.text.orEmpty, number3.rx.text.orEmpty){textValue1,textValue2,textValue3 -> Int in
            return (Int(textValue1) ?? 0) + (Int(textValue2) ?? 0) + (Int(textValue3) ?? 0)
        }
            .map{ $0.description }
            .bind(to: result.rx.text)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }


}

Observableがどういった意味なのかがよくわかっていないですが、割と簡単にコードがかけた印象。
引き続き、Exsampleを写経しつつ、リファレンスを見ながら学習を進めたいと思います。