Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RxSwiftを始めよう!

 RxSwiftを始めよう!

【朝活】iOS開発会議68回目 in 株式会社トライフォート
2016年6月30日
RxSwiftとRxの概念を解説しました。
https://www.facebook.com/events/920402871415186/

Sato Takeshi

July 07, 2016
Tweet

More Decks by Sato Takeshi

Other Decks in Technology

Transcript

  1. ଟ࠼ͳݴޠରԠ • Java: RxJava • JavaScript: RxJS • C#: Rx.NET

    • C#(Unity): UniRx • Scala: RxScala • Clojure: RxClojure • C++: RxCpp Swiftϓϩάϥϛϯάษڧձ 2016/6/30 15
  2. ଟ࠼ͳݴޠରԠ • Ruby: Rx.rb • Python: RxPY • Groovy: RxGroovy

    • JRuby: RxJRuby • Kotlin: RxKotlin • Swift: RxSwift • PHP: RxPHP Swiftϓϩάϥϛϯάษڧձ 2016/6/30 16
  3. Rxͷߟ͑ํ • Observable -> ετϦʔϜΛྲྀ͢ • Observers(Subscribe) -> ྲྀ͞Ε͍ͯΔ΋ͷΛݟΔ •

    Transforming and Filtering Operators -> ετϦʔϜΛมߋ • Combination Operators -> ෳ਺ͷετϦʔϜΛ૊Έ߹ΘͤΔ • Error Handling -> Τϥʔॲཧ Swiftϓϩάϥϛϯάษڧձ 2016/6/30 30
  4. ObservableΛObservable.createͰੜ੒ let disposeBag = DisposeBag() let myJust = { (element:

    String) -> Observable<String> in return Observable.create { observer in observer.on(.Next(element)) observer.on(.Completed) return NopDisposable.instance } } myJust("!") .subscribe { print($0) } .addDisposableTo(disposeBag) Swiftϓϩάϥϛϯάษڧձ 2016/6/30 34
  5. ObservableͷError case .Error(let error) • error = ErrorType ܕͷ஋ •

    ετϦʔϜͷऴΘΓͰ΋͋Δ Swiftϓϩάϥϛϯάษڧձ 2016/6/30 38