Slide 1

Slide 1 text

3Y4XJGU 3FTPMVUJPOPG5FTU4DIFEVMFS QPUBUPUJQT !ZJNBKP

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

IUUQTTXJGUCPPUIQN

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

5FTUJOHZPVS3Y4XJGU AEFCPVODFA

Slide 6

Slide 6 text

%FCPVODF ʢ௓ͶฦΓ੍ޚʣ

Slide 7

Slide 7 text

%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() }

Slide 8

Slide 8 text

5FTU

Slide 9

Slide 9 text

5FTU w FYQFDUUPFWFOUJOTFD w FYQFDUUPFWFOUJOTFD EFCPVODF

Slide 10

Slide 10 text

͔͠͠ʜ

Slide 11

Slide 11 text

5IF7JSUVBM5JNF6OJU JT*OU WJSUVBMUJNF

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

$0/7&35 WJSUVBMUJNF EFCPVODF 3FBMUJNF EFCPVODF 7JSUVBM5JNF

Slide 14

Slide 14 text

$0/7&35 WJSUVBMUJNF EFCPVODF 3FBMUJNF EFCPVODF 7JSUVBM5JNF UJDLSFBMUJNFSFTPMVUJPO SFTPMVUJPOSFBMUJNFUJDL

Slide 15

Slide 15 text

/** 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

Slide 16

Slide 16 text

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