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
Swiftͱ༇շͳؒͨͪ @akatsuki174
Slide 2
Slide 2 text
ࣗݾհ • ਢ౻ຘ • גࣜձࣾZaimॴଐ • iOSΤϯδχΞ • Twitter, Qiita, SlideShare, GitHub, SpeakerDeck, ͯͳϒϩά, note →akatsuki174
Slide 3
Slide 3 text
iOSDC2017,2018 ίΞελοϑ
Slide 4
Slide 4 text
એ
Slide 5
Slide 5 text
ɾSwiftͷੜͱมભ ɾSwiftͱObjective-Cͷؔ ɾSwiftͱଞݴޠͷจ๏ൺֱ ɾ͓·͚ɿPlayground ࠓͷ༰
Slide 6
Slide 6 text
͜ͷࢿྉͳΜͱͳʔ͘SwiftΛ ཧղͯ͠Β͓͏ɺͱ͍͏͘Β͍ͷ ςϯγϣϯͰ࡞͍ͬͯΔͷͰઆ໌ෆɺ ᐆດͳ෦ଟʑ͋Δͱࢥ͍·͢ɻ ྃ͝ঝ͍ͩ͘͞ɻ
Slide 7
Slide 7 text
Swiftͷੜͱಛ
Slide 8
Slide 8 text
WWDC2014Ͱൃද
Slide 9
Slide 9 text
iOS, macOS, watchOS, tvOS Ͱ͑Δ ɾଞϓϥοτϑΥʔϜͰ ɾɾಉ͡ݴޠͰॻ͚Δ ɾɾಉ͡API͕͑ͨΓ͢Δ
Slide 10
Slide 10 text
αʔόʔαΠυͰ͑Δ ɾSwift͔͠৮ͬͨ͜ͱͳ͍ਓͰ ɹαʔόαΠυʹઓ͍͢͠ ɾ·ͩීٴ్த ɾϝδϟʔͳϑϨʔϜϫʔΫ ɾɾPerfect ɾɾVapor ɾɾKitura
Slide 11
Slide 11 text
ܕਪ͕͑Δ
Slide 12
Slide 12 text
Φʔϓϯιʔε ຊਓίϛολʔଘࡏ
Slide 13
Slide 13 text
όʔδϣϯΞοϓ͕ܹ͍͠ ɾ1ͰϝδϟʔόʔδϣϯΞοϓ ɾɾ߹ΘͤͯiOSɺXcode1Ͱ ɹɹϝδϟʔόʔδϣϯΞοϓ ɾഁյతͳมߋʹԿٽ͔͞Ε͔ͨ ɾ͏͍ͩͿམͪண͍͖ͯͨʢͣʣ
Slide 14
Slide 14 text
ʮϞμϯʯͳݴޠ ɾ࠷ۙͷݴޠʹ͋ΔศརػೳΛࡌ ɾɾΫϩʔδϟ ɾɾλϓϧ ɾɾδΣωϦΫε ɾɾΤΫεςϯγϣϯ ͳͲͳͲ
Slide 15
Slide 15 text
ʮ҆શʯͳݴޠ ɾݴޠ༷ϨϕϧͰόά͕ൃੜ͠ʹ͍͘ ɹΑ͏ʹ͍ͯ͠Δ ɾɾOptional ɾɾϝϞϦ֬อɺղ์͕ࣗಈͰߦΘΕΔ ɾɾ੩తݴޠ ͳͲͳͲ
Slide 16
Slide 16 text
ʮ҆શʯͳݴޠ ɾݴޠ༷ϨϕϧͰόά͕ൃੜ͠ʹ͍͘ ɹΑ͏ʹ͍ͯ͠Δ ɾɾOptional ɾɾϝϞϦ֬อɺղ์͕ࣗಈͰߦΘΕΔ ɾɾ੩తݴޠ ͳͲͳͲ
Slide 17
Slide 17 text
Optional ɾʮnull҆શʯͱ͔ͦ͜ΒΜͰΑ͘ ɹʹͳΔͭ ɾnilʹͳΔՄೳੑ͕͋Δม ɹOptionalܕʹ͢Δ ɾnilʹରͯ͠ૢ࡞Λ͠Α͏ͱͯ͠ ɹΫϥογϡɺΛ͙
Slide 18
Slide 18 text
Optional ʢίʔυೖΕΔʣ
Slide 19
Slide 19 text
Objective-Cͱͷؔ
Slide 20
Slide 20 text
Ұॹͷ͓͏ͪʹॅΊΔ ɾ1ͭͷϓϩδΣΫτʹࠞͥͯ͏͜ͱ͕ ɹͰ͖Δ ɾͳͷͰ100% Obj-CϓϩδΣΫτͰɺ ɹঃʑʹSwiftʹॻ͖͑Δ͜ͱ͕Ͱ͖Δ ɾBridging HeaderΛͬͯSwift͔Β ɹObjective-CɺObjectiveC͔ΒSwiftΛ ɹݺͼग़͢
Slide 21
Slide 21 text
Swift͔ΒObjective-CίʔυΛ ͏ ͜Μͳ͔Μ͡ͷهड़ΛBridging Header ʹॻ͘ #import "XYZCustomCell.h" #import "XYZCustomView.h" #import "XYZCustomViewController.h"
Slide 22
Slide 22 text
Objective-C͔ΒSwiftίʔυΛ ͏ ͜Μͳ͔Μ͡ͷهड़ΛBridging Header ʹॻ͘ #import "ProductModuleName-Swift.h"
Slide 23
Slide 23 text
ଞݴޠͱൺֱͯ͠ΈΑ͏
Slide 24
Slide 24 text
͓̍ ɾ1ʙ10·ͰͷΛग़ྗ͢Δ ɾIntܕ
Slide 25
Slide 25 text
͓̍ɿSwiftͷճྫ (1...10).forEach { print($0) } Range
Slide 26
Slide 26 text
͓̍ɿଞݴޠͷճྫ Java Ruby Kotlin
Slide 27
Slide 27 text
͓̎ Enum[Orange, Apple, Lemon]ͷΛ ೖΕͨม͕Appleͩͬͨ߹ɺ ʮ͋ͨΓʂʯͱग़ྗ͢Δ
Slide 28
Slide 28 text
͓̎ɿSwiftͷճྫ enum Fruit { case orange, apple, lemon } let fruit = Fruit.apple switch fruit { case .apple: print("͋ͨΓʂ") default: print("ͣΕʂ") } ઌ಄খจࣈ breakෆཁ جຊతʹdefaultඞਢ
Slide 29
Slide 29 text
͓̎ɿଞݴޠͷճྫ Java
Slide 30
Slide 30 text
͓·͚ɿPlayground
Slide 31
Slide 31 text
Playground ɾΠϯλϥΫςΟϒʹSwiftΛֶΔ ɹπʔϧ
Slide 32
Slide 32 text
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ