Slide 1

Slide 1 text

ॳΊͯͷ4PVSDFPG5SVUI f o r  : 6 . & . *  T X J G U     d Έ Μ ͳ Ͱ ৼ Γ ฦ Ζ ͏ ɺ 8 8 % $ d ?

Slide 2

Slide 2 text

} var employedBy = "YUMEMI Inc." var job = "iOS Tech Lead" var favoriteLanguage = "Swift" var twitter = "@lovee" var qiita = "lovee" var github = "el-hoshino" var additionalInfo = """ ࣾ಺ϏσΦձٞͰ Vzoomer ૿΍͠·ͨ͠ʂ """ final class Me: Developable, Talkable {

Slide 3

Slide 3 text

4PVSDFPG5SVUI ਅ࣮ ιʔείʔυ

Slide 4

Slide 4 text

4PVSDF ΋ͱɺݯɺىݯ˗෺ࣄ͕࢝·ͬͨ৔ॴ΍ɺͦͷݩͱ ͳͬͨਓ΍෺ࣄɻ ʤ৘ใͷʥൃ৴ݩɺ৘ใݯɺফଉے˗ʲ༻๏ʳ௨ྫ TPVSDFT ʬ஍ֶʭʤ઒ͳͲͷʥਫݯʢ஍ʣ ʬిؾʭʤిքޮՌܕτϥϯδελͷʥιʔε ʬίʭιʔεɾίʔυ˗ʲಉʳTPVSDFDPEF ग़యɿ<ӳࣙ࿠> IUUQTFPXBMDDPKQTFBSDI RTPVSDF

Slide 5

Slide 5 text

4PVSDFPG5SVUI ਅ࣮ ىݯ ৘ใݯ

Slide 6

Slide 6 text

4PVSDFPG5SVUI ৗʹҰͭͰ͋Δ΂͖ʢ4JOHMF4PVSDFPG5SVUIʣ w୭͕͜ͷσʔλΛॴ༗͍ͯ͠Δ͔ ඞཁʹԠͯ͡ద੾ͳڞ༗ΛબͿ wڞ༗ઌͰ஋͕มߋՄೳ͔Ͳ͏͔

Slide 7

Slide 7 text

-JTU 7JFX %FUBJM 7JFX isOn: Bool isOn: Bool ભҠ 4PVSDF PG5SVUI 4PVSDF PG5SVUI JT0O͸ͦΕͧΕͷϏϡʔͷ ݻ༗ঢ়ଶͷͨΊɺ ͦΕͧΕಠཱͨ͠4PVSDF PG5SVUIʹͳΔ

Slide 8

Slide 8 text

-JTU 7JFX %FUBJM 7JFX name: String name: String ಉ͡৘ใ͕ෳ਺Օॴʹଘࡏ͢Δʂ มߋ͕ڞ༗͞Εͳ͍ ͲΕ͕ਖ਼͍͔͕͠Θ͔Βͳ͍ ৘ใͷ෼ࢄ؅ཧɺμ ϝɻઈର ભҠ

Slide 9

Slide 9 text

-JTU 7JFX %FUBJM 7JFX name: String ભҠ ࢀর 4PVSDF PG5SVUI 3FGFSFODF PG5SVUI

Slide 10

Slide 10 text

-JTU 7JFX %FUBJM 7JFX ભҠ ࢀর 4PNFXIFSF name: String 4PVSDF PG5SVUI 3FGFSFODF PG5SVUI 3FGFSFODF PG5SVUI

Slide 11

Slide 11 text

-JTU 7JFX %FUBJM 7JFX "QQ 4DFOF -JTU 7JFX %FUBJM 7JFX 4DFOF App Data Scene Data Scene Data List View Data List View Data ભҠ ࢀর

Slide 12

Slide 12 text

Մมσʔλ σʔλ͕஋ܕ ʢString΍Intʣ σʔλ͕ࢀরܕ ʢObservableObjectʣ ιʔε @State var @StateObject var ෆՄมڞ༗ let let Մมڞ༗ @Binding var @ObservedObject var ෆՄมσʔλ σʔλ͕஋ܕ ʢString΍Intʣ σʔλ͕ࢀরܕ ʢObservableObjectʣ ιʔε let let ෆՄมڞ༗ let let Մมڞ༗ /" /" NEW

Slide 13

Slide 13 text

Մมσʔλ σʔλ͕஋ܕ ʢString΍Intʣ σʔλ͕ࢀরܕ ʢObservableObjectʣ ιʔε @State var @StateObject var ෆՄมڞ༗ let let Մมڞ༗ @Binding var @ObservedObject var ෆՄมσʔλ σʔλ͕஋ܕ ʢString΍Intʣ σʔλ͕ࢀরܕ ʢObservableObjectʣ ιʔε let let ෆՄมڞ༗ let let Մมڞ༗ /" /" NEW ࣗ෼͸ͦͷσʔλΛม͑ͳ͍͚Ͳɺ ผͷը໘ʹΑͬͯͦͷσʔλ͕มΘͬͨΒ ࣗ෼Λߋ৽͠ͳ͍ͱ͍͚ͳ͍ɻ ͦΕͰ΋letͳͷʁ! ͦ͏Ͱ͢ʂ

Slide 14

Slide 14 text

6*,JU6*7JFX 4XJGU6*7JFX ܕ ࢀরܕ ஋ܕ ੜ੒࣌ظ Ϗϡʔ࡞੒࣌ ඳըߋ৽։࢝࣌ ഁغ࣌ظ ϏϡʔώΤϥϧΩʔ͔Β ͳ͘ͳͬͨͱ͖ ඳըߋ৽ऴ͙ྃ࣌͢ ੜଘظؒ جຊ௕͍ ඇৗʹ୹͍ ੜ੒ճ਺ جຊগͳ͍ ඇৗʹଟ͍ ຊ࣭ ϏϡʔΦϒδΣΫτͦͷ΋ͷ ϏϡʔͷϨϯμϦϯάઆ໌

Slide 15

Slide 15 text

6*,JU6*7JFX 4XJGU6*7JFX ܕ ࢀরܕ ஋ܕ ੜ੒࣌ظ Ϗϡʔ࡞੒࣌ ඳըߋ৽։࢝࣌ ഁغ࣌ظ ϏϡʔώΤϥϧΩʔ͔Β ͳ͘ͳͬͨͱ͖ ඳըߋ৽ऴ͙ྃ࣌͢ ੜଘظؒ جຊ௕͍ ඇৗʹ୹͍ ੜ੒ճ਺ جຊগͳ͍ ඇৗʹଟ͍ ຊ࣭ ϏϡʔΦϒδΣΫτͦͷ΋ͷ ϏϡʔͷϨϯμϦϯάઆ໌ ඞཁʹͳͬͨͱ͖ ౎౓ੜ੒͞ΕΔͨΊ letͰ΋ਖ਼͘͠ ϨϯμϦϯά͞ΕΔ" ͋Εʁ͡Ό͋ 4PVSDFPG5SVUI ͷϏϡʔ͸ʁ

Slide 16

Slide 16 text

Մมσʔλ σʔλ͕஋ܕ ʢString΍Intʣ σʔλ͕ࢀরܕ ʢObservableObjectʣ ιʔε @State var @StateObject var ෆՄมڞ༗ let let Մมڞ༗ @Binding var @ObservedObject var ෆՄมσʔλ σʔλ͕஋ܕ ʢString΍Intʣ σʔλ͕ࢀরܕ ʢObservableObjectʣ ιʔε let let ෆՄมڞ༗ let let Մมڞ༗ /" /"

Slide 17

Slide 17 text

!4UBUFͱ!4UBUF0CKFDUͷҙٛ σʔλ͕ߋ৽͞Εͨͱ͖ɺࢀরΛ࣋ͭΠϯελϯεʹ ௨஌Λग़͢ 4XJGU6*ʹ͓͍ͯɺViewߏ଄ମͱ͸ผͷ৔ॴͰ֨ೲ ͠ɺσʔλͷੜଘظؒΛ7JFXͷϥΠϑαΠΫϧ͔Β ղ์ -JTU 7JFX 4XJGU6* isOn: Bool @State

Slide 18

Slide 18 text

·ͱΊ w 4PVSDFPG5SVUIΛৗʹ৺͕͚Α͏ w ద੾ͳσʔλએݴͰ4PVSDFPG5SVUIΛҡ࣋͠Α͏ w 4XJGU6*ͷ7JFX͸ͨͩͷϨϯμϦϯάઆ໌ʂ 4XJGU6*ʹݶΒͣ ͲΜͳઃܭʹ΋௨༻ͦ͠͏

Slide 19

Slide 19 text

͞Βʹৄ͍͠৘ใʹ͍ͭͯ w 88%$ηογϣϯ౳ w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUVJTUBUF BOEEBUBqPX w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED w ಛʹ!&OWJSPONFOU0CKFDUɺ!"QQ4UPSBHF΍0CTFSWBCMF 0CKFDUͳͲͷઆ໌͸ׂѪ͍͠ΔͷͰɺؾʹͳΔํ͸ͥͻ্ͷϦϯ ΫΛʂ