Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
RxSwiftษڧձ ͦͷ1
Slide 2
Slide 2 text
ࣗݾհ • Yusuke Hosonuma • ʢ࠷ۙͷʣҰݴɿ ʢ։ൃऀʹʣΊ͙Γ⁊͍ʢίʔυΛʣ͗ • ࠷ۙɺݞ͜Γͱ͔ࠅ͍ͷͰϤΨΛ࢝Ί·ͨ͠ɻ
Slide 3
Slide 3 text
લճͷJOJORxSwift
Slide 4
Slide 4 text
લճ • ϦΞΫςΟϒϓϩάϥϛϯάʹֶ͍ͭͯΜͩ • ඇಉظετϦʔϜΛѻ͏ϓϩάϥϛϯά • ݴ͍͑ΔͱԿ͔͕ྲྀΕͯ͘ΔʮʯͰ͋Δ • ෦తʹObserverύλʔϯ͕ΘΕ͍ͯΔ
Slide 5
Slide 5 text
ิ • ϦΞΫςΟϒͱʮԠੑʯͱ͍͏ҙຯ • Կ͔ʹ࿈ಈͯ͠উखʹԿ͔͕มΘΔΠϝʔδ • ExcelͷࣜγεςϜϦΞΫςΟϒͳΞϓϦ έʔγϣϯͱݴ͑Δ
Slide 6
Slide 6 text
ࠓճ
Slide 7
Slide 7 text
நతͳ֓೦ΛΕͯ
Slide 8
Slide 8 text
࣮ફతͳRxSwift ʹ͍ͭͯ
Slide 9
Slide 9 text
ֶΜͰ͍͖·͢ʂ ʢલճͷ༰ΕͯOKʣ
Slide 10
Slide 10 text
ΞδΣϯμ • RxSwiftͷϞδϡʔϧ • RxSwiftͷΠϯετʔϧ • Observable —> Observer ͷଓ • RxSwiftͷαϯϓϧίʔυ • ϥΠϒίʔσΟϯάʢؤுͬͯΈΔΑʂʣ
Slide 11
Slide 11 text
RxSwiftͷϞδϡʔϧ
Slide 12
Slide 12 text
RxSwiftͷϞδϡʔϧ • 2ͭͷϞδϡʔϧͰΓཱ͍ͬͯΔ • 1) RxSwift • 2) RxCocoa
Slide 13
Slide 13 text
1) RxSwift
Slide 14
Slide 14 text
1) RxSwift • import RxSwift • RxʢReactive ExtensionʣͷίΞ෦ͷػೳΛఏ ڙ͢ΔϞδϡʔϧ • UIKitͳͲʹґଘ͠ͳ͍७ਮͳϦΞΫςΟϒϓϩ άϥϛϯάͷࡐྉΛఏڙ͢Δ • ଞͷϓϩάϥϛϯάݴޠͰຆͲಉ͡ʢͣʣ
Slide 15
Slide 15 text
2) RxCocoa ࢲͷ͜ͱݺΜͩʁ
Slide 16
Slide 16 text
2) RxCocoa • import RxCocoa • UIKitͳͲiOSʹґଘͨ͠෦ͷػೳΛఏڙ • UIViewNSNotificationʹରͯ͠ɺrx_xxxͱ͍ͬ ͨϓϩύςΟ͕Ճ͞ΕΔɻ • ྫʣrx_tapɺrx_textɺrx_valueɺetc…
Slide 17
Slide 17 text
RxSwiftͷΠϯετʔϧ
Slide 18
Slide 18 text
RxSwiftͷΠϯετʔϧ • CocoaPodsͰ • CarthagoͰ • ͨͿΜকདྷతʹSwiftඪ४ͷύοέʔδϚωʔ δϟͰ • ·͊ৄ͘͠ެࣜυΩϡϝϯτΛಡΜͰͶʂ
Slide 19
Slide 19 text
Observableͱ Observerͷଓ
Slide 20
Slide 20 text
Observerύλʔϯͷ෮श • GoFͷ23ͷσβΠϯύλʔϯͷ1ͭ • iOSͰNSNotification͕ͦͷྫ • Observableʢ؍ଌ͞ΕΔͷʣͱɺ • Observerʢ؍ଌ͢Δͷʣ͕ొ͠ɺ • Observableͷมߋ͕Observerʹ௨͞ΕΔ
Slide 21
Slide 21 text
RxSwiftͰͷ • ετϦʔϜ͕Observableʢ؍ଌ͞ΕΔͷʣ • ߪಡ͢Δͷ͕Observerʢ؍ଌ͢Δͷʣ • ্هʮʯͱʮ͓͋ͪΌΜʯʹஔ͖͑ͯ OKʢ౧ଠϝλϑΝʔ࠶ͼʣ
Slide 22
Slide 22 text
ॏཁͳίϯηϓτ
Slide 23
Slide 23 text
Observableͱ
Slide 24
Slide 24 text
Observer
Slide 25
Slide 25 text
ଓʢbindʣ͢Δ͜ͱ͕ ՄೳͰ͋Δ
Slide 26
Slide 26 text
ͱΓ͋͑ͣίʔυྫ
Slide 27
Slide 27 text
ྫʣλοϓ࣌ʹϥϕϧߋ৽
Slide 28
Slide 28 text
͜Ε͕Rxʹ͓͚Δ σʔλόΠϯσΟϯά
Slide 29
Slide 29 text
σʔλόΠϯσΟϯά • Observableʢ؍͞ΕΔͷʣͱɺ • Observerʢ؍͢Δͷʣɺ • ଓʢbindʣՄೳͰ͋Δɻ • Tͷҙຯ͢Δͱ͜Ζܕɻ • ͭ·Γಉ͡ܕͰͳ͚ΕଓͰ͖ͳ͍ɻ ʢTʹஔ͖͑ͯOKʣ
Slide 30
Slide 30 text
͏ҰίʔυΛݟͯΈΔ • 2.ͰจࣈྻܕͷετϦʔϜʢObservableʣʹม ͢Δ͜ͱͰɺ • UILabelͷrx_textଐੑʢObserverʣʹଓ͍ͯ͠ Δɻ • ͜ΕʹΑΓϘλϯλοϓͷετϦʔϜʹྲྀΕͨσʔλ͕ ࣗಈతʹUILabelͷtextଐੑʹө͞ΕΔɻ
Slide 31
Slide 31 text
RxSwift ίʔυαϯϓϧ
Slide 32
Slide 32 text
1. Ϙλϯͷλοϓ
Slide 33
Slide 33 text
Ϙλϯͷλοϓ • DisposeBagͱ͍͏ͷϝϞϦཧ༻ • ଞͷํ๏͋Δ͚Ͳɺ࠷ޙʹॻ͍͓͚ͯͱΓ͋͑ ͣOKͱࢥͬͯେৎ
Slide 34
Slide 34 text
2. εϥΠμʔ
Slide 35
Slide 35 text
εϥΠμʔ
Slide 36
Slide 36 text
3. NSNotification
Slide 37
Slide 37 text
NSNotification
Slide 38
Slide 38 text
ࡉ͔͍ҧ͍ ͋Δ͚ΕͲ
Slide 39
Slide 39 text
ຊ࣭తͳߟ͑ํ ڞ௨͍ͯ͠Δ
Slide 40
Slide 40 text
͢ͳΘͪ • ObservableʢετϦʔϜʣΛ࡞Γग़͠ɺ • ετϦʔϜΛՃʢmapɺstartWithʣ͠ɺ • Observerʢ؍ଌऀʣʹଓ͢Δɻ
Slide 41
Slide 41 text
͜Ε͕Rxʹ͓͚Δ σʔλόΠϯσΟϯά RxετʔΧʔߦҝΛॿ͢ΔͷͰ அͯ͋͡Γ·ͤΜʢIt’s a jokeʣ
Slide 42
Slide 42 text
લճͷ෮श݉Ͷͯ • ετϦʔϜ҆ՁͰ؆୯ʹ࡞ΕΔ • ετϦʔϜΛՃ͢ΔͨΊͷखஈ͕ἧ͍ͬͯΔ • ετϦʔϜʢObservableʣɺ ؍ଌऀʢObserverʣʹଓ͢Δ͜ͱ͕ग़དྷΔ • ͯ͢ετϦʔϜͰ͋Δ
Slide 43
Slide 43 text
ϥΠϒίʔσΟϯά
Slide 44
Slide 44 text
όϦσʔγϣϯΛॻ͍ͯ ΈΔΑʂʢ࣌ؒ͋Εʣ
Slide 45
Slide 45 text
ࠓͷ·ͱΊ • RxSwiftͷϞδϡʔϧ • ίΞ෦ͷʮRxSwiftʯͱ • UIKit෦ͷʮRxCocoaʯ͕͋Δ • RxSwiftͷΠϯετʔϧ • CocoaPods·ͨCarthagoͰͲ͏ͧ
Slide 46
Slide 46 text
ࠓͷ·ͱΊ • Observable —> Observer ͷଓ • Rxʹ͓͚ΔσʔλόΠϯσΟϯάػߏ • TܕΛද͠ɺಉ͡ܕͳΒଓͰ͖Δ • ܕ͕ҟͳΔ߹ετϦʔϜΛՃʢmapͨ͠ Γʣ͢Δ͜ͱͰɺಉ͡ܕͷετϦʔϜʹ͢Δ͜ ͱग़དྷΔ
Slide 47
Slide 47 text
ࠓͷ·ͱΊ • RxSwiftͷαϯϓϧίʔυ • Ϙλϯλοϓ • εϥΠμʔ • NSNotification • ͲΕڞ௨ͨ͠ύλʔϯɺObservableͱ ObserverͷଓɺؒʹՃ͕͋ͬͨɻ
Slide 48
Slide 48 text
࠷ޙʹ
Slide 49
Slide 49 text
ࠓճͷεϥΠυͷ༰ Λཧղ͢Ε
Slide 50
Slide 50 text
RxSwiftͷίʔυ͔ͳΓಡ ΊΔΑ͏ʹͳΔͱࢥ͍·͢
Slide 51
Slide 51 text
ެࣜυΩϡϝϯτΛ ಡΜͰΈ·͠ΐ͏ʂ
Slide 52
Slide 52 text
Thanks!