Slide 1

Slide 1 text

iOS ΞϓϦ։ൃ
 Swift3 Ҡߦͷҋ ezura

Slide 2

Slide 2 text

iOS ΤϯδχΞͷਓ

Slide 3

Slide 3 text

iOS ΤϯδχΞͱ࢓ࣄͯ͠Δਓ

Slide 4

Slide 4 text

·ͩɺଉͯ͠·͔͢ (´ɾωɾʆ)ʁ

Slide 5

Slide 5 text

"\(self)" • ezura (@eduraaa) • iOS ΤϯδχΞ • ࠷ۙ͸ Swift2 ͔Β Swift3 ΁ͷҠߦͷ͓࢓ࣄ

Slide 6

Slide 6 text

"\(self)" • ezura (@eduraaa) • iOS ΤϯδχΞ • ࠷ۙ͸ Swift2 ͔Β Swift3 ΁ͷҠߦͷ͓࢓ࣄ

Slide 7

Slide 7 text

఻͍͑ͨ͜ͱ

Slide 8

Slide 8 text

Swift3 ରԠ͍ͯ͠ͳ͍
 iOS ΤϯδχΞͷํ
 
 ֮ޛ͍ͯͩ͘͠͞

Slide 9

Slide 9 text

iOS ΤϯδχΞͱ࢓ࣄ͍ͯ͠Δํ
 
 ԾʹɺSwift3 Ҡߦͷਐḿ͕ѱͯ͘΋
 ͝ཧղͷ΄ͲɺΑΖ͓͘͠ئ͍͠·͢…

Slide 10

Slide 10 text

Index • ҋʹࢸΔܦҢ • ҋΛ৐Γӽ͑ΔͨΊʹ • Swift3 ΁ͷॻ͖׵͑ޙʹൃੜͨ͜͠ͱ

Slide 11

Slide 11 text

ҋʹࢸΔܦҢ

Slide 12

Slide 12 text

Ή͔͠Ή͔͠ɺ
 iOS ΞϓϦ͸ Objective-C ͱ͍͏ݴޠͰ
 ॻ͘͜ͱ͕ඪ४Ͱͨ͠

Slide 13

Slide 13 text

ಥવͷͷܒࣔ

Slide 14

Slide 14 text

Swift ͱ͍͏ݴޠΛ࡞ͬͨΑ
 ࠓޙ͸͜ΕΛਪ͍ͯ͘͠Α

Slide 15

Slide 15 text

༷ͷ࣊͝൵

Slide 16

Slide 16 text

(ͨͩ͠ɺ੍ݶ͋Γ) Objective-C ͱ Swift ͸
 ૬ޓʹݺͼग़͢͜ͱ͕Ͱ͖·͢
 Ὃ طଘͷίʔυ͸ͦͷ··࢖༻Մೳ

Slide 17

Slide 17 text

͔ͯ͘͠ɺ
 iOS ΞϓϦ͸ Objective-C ͱ Swift ͷ
 ࠞࡏ͢ΔੈքͱͳΓ·ͨ͠ ݴޠͷઃܭࢥ૝͕ҧ͏ೋਓɺͦͷ࿈ܞ͸ଟ͘ͷҋΛ࢈Έ·ͨ͠

Slide 18

Slide 18 text

৽͘͠ॻ͘෦෼͸ Swift2 ʹ͠Α͏
 ͱ͍͏ྲྀΕ

Slide 19

Slide 19 text

طଘͷίʔυ΋ 
 Swift2 ʹஔ͖׵͑Α͏ͱ͍͏ಈ͖

Slide 20

Slide 20 text

ฏ࿨͕๚Ε…

Slide 21

Slide 21 text

Swift3 ϦϦʔε
 ௒ഁյతΞοϓσʔτ

Slide 22

Slide 22 text

Xcode8.2 (࣍ͷόʔδϣϯ) Λ
 ࠷ޙʹ Swift2 ͷαϙʔτΛ੾ΔΑ

Slide 23

Slide 23 text

Swift3 ΁ͷҠߦ͸ۙʑඞਢʹ

Slide 24

Slide 24 text

ͱ͸͍͑ɺ3 ೔͘Β͍ͰऴΘΔͰ͠ΐʁ
 ίϯόʔδϣϯπʔϧ͋Δ͠…

Slide 25

Slide 25 text

Θͨ͋ΊΑΓ΋؁͍ߟ͑Ͱͨ͠

Slide 26

Slide 26 text

Error ਺ 0 200 400 600 800 ೔਺ 1 2 3 4 5 6 7 8 9 Τϥʔ਺ (ୀࣾ࣌఺)

Slide 27

Slide 27 text

Կ͕͋ͬͨͷ͔ • Ұ౓ʹΤϥʔΛݕग़Ͱ͖ͳ͍ • ίϯόʔδϣϯπʔϧ͕·ͱ΋ʹಈ͔ͳ͍ • Swift ͱ Objective-C ͷ࿈ܞͷมߋ༝དྷͰɺةݥͳ ෦෼͕͋Δ • ϥΠϒϥϦ෦෼ͷมߋ͸શͯࣗ෼Ͱ • ϥϯλΠϜΤϥʔɺҙਤ͠ͳ͍ڍಈͷରԠ

Slide 28

Slide 28 text

Կ͕͋ͬͨͷ͔ • Ұ౓ʹΤϥʔΛݕग़Ͱ͖ͳ͍ • ίϯόʔδϣϯπʔϧ͕·ͱ΋ʹಈ͔ͳ͍ • Swift ͱ Objective-C ͷ࿈ܞͷมߋ༝དྷͰɺةݥͳ ෦෼͕͋Δ • ϥΠϒϥϦ෦෼ͷมߋ͸શͯࣗ෼Ͱ • ϥϯλΠϜΤϥʔɺҙਤ͠ͳ͍ڍಈͷରԠ

Slide 29

Slide 29 text

Error ਺ 0 200 400 600 800 ೔਺ 1 2 3 4 5 6 7 8 9 Τϥʔ਺ (ୀࣾ࣌఺)

Slide 30

Slide 30 text

ҋΛ৐Γӽ͑ΔͨΊʹ

Slide 31

Slide 31 text

Swift2 ͷ͏͔ͪΒରࡦ͢Δ

Slide 32

Slide 32 text

Swift2 Ͱॻ͍͍ͯΔਓ • Swift ίʔσΟϯάΨΠυϥΠϯʹଇͬͯॻ͍͓ͯ ͖·͠ΐ͏ • Objective-C ͱͷ࿈ܞͰ IUO Λ࢖Θͣ Optional Ͱ ѻ͏Α͏ʹ͠·͠ΐ͏
 (nullability ΞϊςʔγϣϯΛࢦఆ͍ͯ͠ͳ͍৔߹) • RxSwift ͷഇࢭ༧ఆͷϝιου (`onNext` ౳) Λ࢖Θ ͳ͍Α͏ʹ͠·͠ΐ͏

Slide 33

Slide 33 text

ॻ͖·ͨ͠ʂ٩( 'ω' )و ࠓɺSwift2 Ͱॻ͍͍ͯΔಉ๔ୡ΁ɻ࠷௿ݶ΍ͬ ͓͖͍ͯͨɺSwift2 ͷ··Ͱ࢝ΊΔ Swift3 ରࡦ

Slide 34

Slide 34 text

Swift3 Ҡߦ్தͷਓ ಉࢤΑɺ͕Μ͹ͬͯ

Slide 35

Slide 35 text

Swift3 ίϯύΠϧΤϥʔղܾͷ
 ޙ೔ஊ

Slide 36

Slide 36 text

ϥϯλΠϜΤϥʔ • NSURL ͱ URL • Objective-C ͷδΣωϦοΫܕʹ Swift ͔ΒΞΫηε
 (Swift2 Ͱ͸େৎ෉ͩͬͨͷͰ͢…) • Objective-C Realm ࢮ͢
 (ݹ͍όʔδϣϯͩͬͨͷ΋ཁҼ) • ϚΠάϨʔγϣϯπʔϧ͕ͱΓ͋͑ͣ `!` ͚ͭͯͨ

Slide 37

Slide 37 text

༧ظͤ͵ڍಈ • protocol ͷϝιου໊ͷม׵࿙Ε
 (optional ࢦఆ΍ default ࣮૷͍ͯ͠Δϝιουͩͱ ؾ͕͖ͭʹ͍͘) • ϚΠάϨʔγϣϯπʔϧ͕ྑ͘ͳ͍Ωϟετͯ͠Δ

Slide 38

Slide 38 text

·ͱΊ

Slide 39

Slide 39 text

• ༧૝Ҏ্ʹ Swift3 ରԠʹ͸͕͔͔࣌ؒΔ
 (Ұ࣌ظɺίϯύΠϧΤϥʔ͕ݮͬͯ΋ίϯύΠϥ͕ΤϥʔΛൃݟͰ ͖͍ͯͳ͍͚ͩͷՄೳੑ͕େɻͦΕͰ޻਺Λݟੵ΋Δͷ͸ةݥ) • Swift2 ͷ͏͔ͪΒ Swift3 Λҙࣝͯ͠ॻ͍͓ͯ͘ͱָ • ίϯύΠϧΤϥʔղܾͷ͋ͱ΋ɺ৽ͨͳઓ͍͕࢝·Δ

Slide 40

Slide 40 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠