Skip to content

Instantly share code, notes, and snippets.

@shoheiyokoyama
Created August 3, 2017 01:03
Show Gist options
  • Select an option

  • Save shoheiyokoyama/58aa6d0fe1c4a7cbcbebbb95d017766e to your computer and use it in GitHub Desktop.

Select an option

Save shoheiyokoyama/58aa6d0fe1c4a7cbcbebbb95d017766e to your computer and use it in GitHub Desktop.

Revisions

  1. shoheiyokoyama created this gist Aug 3, 2017.
    11 changes: 11 additions & 0 deletions FlatMapFirst.swift
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    player.asObservable()
    .flatMapFirst { $0.level.asObservable() }
    .subscribe(onNext: { print($0) })
    .disposed(by: disposeBag)

    player.onNext(killua) // 50
    killua.level.value = 51 // 51

    player.onNext(gon) // level of gon isn't printed.
    gon.level.value = 51 // new level of gon also isn't printed.
    killua.level.value = 52 // 52