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

RxSwift - Resolution of TestScheduler

yimajo
January 28, 2019

RxSwift - Resolution of TestScheduler

yimajo

January 28, 2019
Tweet

More Decks by yimajo

Other Decks in Technology

Transcript

  1. 3Y4XJGU
    3FTPMVUJPOPG5FTU4DIFEVMFS
    QPUBUPUJQT
    !ZJNBKP

    View Slide

  2. "HFOEB
    w 3Y4XJGUݚڀಡຊ
    w "CPVU3Y4XJGU
    w 5FTUJOHZPVS3Y4XJGUAEFCPVODFA

    View Slide

  3. IUUQTTXJGUCPPUIQN

    View Slide

  4. "CPVU3Y4XJGU
    w 3FBDUJWF&YUFOTJPOGPS4XJGU
    w 3FBDUJWF1SPHSBNNJOH
    w ʜCVUOPUl5SVF'31zʢ3Y͸ਅͷ'31Ͱ͸ͳ͍ʣ

    View Slide

  5. 5FTUJOHZPVS3Y4XJGU
    AEFCPVODFA

    View Slide

  6. %FCPVODF
    ʢ௓ͶฦΓ੍ޚʣ

    View Slide

  7. %FCPVODF
    ʢ௓ͶฦΓ੍ޚʣ
    let ݁Ռ = searchBar.rx.text.orEmpty
    .debounce(0.3, scheduler: scheduler)
    .flatMapLatest { text in
    guard !text.isEmpty else {
    return Observable.just([]).materialize()
    }
    return wikipediaAPI
    .search(from: text)
    .materialize()
    }

    View Slide

  8. 5FTU

    View Slide

  9. 5FTU
    w FYQFDUUPFWFOUJOTFD
    w FYQFDUUPFWFOUJOTFD

    EFCPVODF



    View Slide

  10. ͔͠͠ʜ

    View Slide

  11. 5IF7JSUVBM5JNF6OJU
    JT*OU


    WJSUVBMUJNF

    View Slide

  12. $0/7&353&"-5*.&
    50
    7*356"-5*.&

    View Slide

  13. $0/7&35


    WJSUVBMUJNF
    EFCPVODF
    3FBMUJNF
    EFCPVODF
    7JSUVBM5JNF

    View Slide

  14. $0/7&35


    WJSUVBMUJNF
    EFCPVODF
    3FBMUJNF
    EFCPVODF
    7JSUVBM5JNF
    UJDLSFBMUJNFSFTPMVUJPO
    SFTPMVUJPOSFBMUJNFUJDL



    View Slide

  15. /**
    Creates a new test scheduler.
    - parameter initialClock: Initial value for the clock.
    - parameter resolution: Real time [NSTimeInterval] = ticks * resolution
    - parameter simulateProcessingDelay: When true, if something is scheduled
    right `now`,
    it will be scheduled to `now + 1` in virtual time.
    */
    public init(initialClock: TestTime,
    resolution: Double = 1.0,
    simulateProcessingDelay: Bool = true) {
    _simulateProcessingDelay = simulateProcessingDelay
    super.init(initialClock: initialClock,
    converter:
    TestSchedulerVirtualTimeConverter(resolution: resolution))
    }
    IUUQTHJUIVCDPN3FBDUJWF93Y4XJGUCMPC3Y5FTU4DIFEVMFST
    5FTU4DIFEVMFSTXJGU

    View Slide

  16. 3Y4XJGUݚڀಡຊΛ·Ͱʹ
    ϨϏϡʔͯ͘͠ΕΔਓΛืू͍ͯ͠·͢
    %.Λ͍ͩ͘͞

    View Slide