2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

最近転職活動しており、企業の求人などをみていると「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を写経しつつ、リファレンスを見ながら学習を進めたいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?