196 Views
December 26, 19
スライド概要
2019/12/25 に開催した「みんなで Swift 復習会GO! in 札幌」で使用した資料です。主にオープニング用の資料で、本編で使ったスライドは僅かで現場にいないと役に立たないかもしれませんが、何かの参考用に公開します。
実際の現場で使った本編資料は2ページですけれど、話が脱線する中で詳細に触れた項目が記載されていたページも数ページですけれど公開しておきました。
※ Docswell での公開に移行する直前の Slideshare での閲覧数は 340 でした。
正統派趣味人プログラマー。プログラミングとは幼馴染です。
ΈΜͳͰ 4XJGU ෮शձ (0JOࡳຈ rUI⒌⒌ #minna_de_swift ΧδϡΞϧ 4XJGU ϓϩάϥϛϯά
ࠓ׆ಈؒظࢭٳத😘
લճͷ෮शձ (0JOԬr TU⒌
લʑճͷ෮शձ தࢭ (0JOࡳຈr UI⒌
۽୩༑ 5PNPIJSP,VNBHBJ ⾣ 4XJGU͕ޠݴେ͖Ͱ͢ʂ ⾣ ΈΜͳͰָ͠Ήษڧձ͕େ͖Ͱ͢ʂ ⾣ ϓϩάϥϛϯάͷָ͠͞Λ͍͖͍͑ͯͨɻ w ωοτϥδΦ w ษڧձͷํ։࠵ w ಉਓࢽଈചձ
NPPLNPPLSBEJP NPPL ۽୩ͱ៸໘͕ϓϩάϥϛϯάίʔυͷ͔Β ௌ͑ͯ͘͜ΔʹࣖΛָ͚ͯ͠ΉϥδΦ ຖि݄༵ ʹ৴ IUUQBVEJPCPPLKQ ⾣ ୈ ྲྀసͷٕज़ಉਓࢽଈചձͱษڧձ ⾣ ୈ ࡾ߲ԋࢉࢠ ⾣ ୈ 5FDI-5ɺޭͷ ͭͷλω ⾣ ୈ 04ͷΞοϓσʔτରԠͷཪ ⾣ ୈ ٕज़ಉਓࢽɺϓϩάϥϛϯάͷ͋Δৗ ⾣ ୈ ͱ͖Ί͍ٕͨज़ॻ ⾣ ୈ ม ⾣ ୈ ϢʔβʔΛಋ͘ೝ৺ཧ
ΈΜͳͰ 4XJGU ෮शձ(0 ʜΈΜͳͰ4XJGU෮शձ(0JOࡳຈr TU⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOԭೄr OE⒌ 4XJGU%BZ ʜΈΜͳͰ4XJGU෮शձ(0JOઋr SE⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOԬr UI⒌ 4XJGU%BZ ʜΈΜͳͰ4XJGU෮शձ(0JOԬr UI⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOژr UI⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOr UI⒌ XJUI/4&( ʜΈΜͳͰ4XJGU෮शձ(0JOԬr UI⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOؠखr UI⒌ 4XJGU%BZ ʜΈΜͳͰ4XJGU෮शձ(0JOࡳຈr UI⒌ NJOJ ʜΈΜͳͰ4XJGU෮शձ(0JOԬr TU⒌ தࢭ
ٕज़ܥಉਓࢽ ࣗඅग़൛ͱಉਓࢽଈചձ ,JOEMF #005)
ۙگ Ҏ߱
͘͞ΒγϯσϨϥ ҎདྷɺԠԉத ⾣ ΞΠυϧάϧʔϓʢਖ਼نϝϯόʔ ໊ʣ ⾣ શۂΦϦδφϧ ⾣ ౦Ͱڌ̎ژ׆ಈத w ৽॓ΞΠυϧεςʔδ w ळ༿ݪΞΠυϧεςʔδ ⾣ Ӧؒ࣌ۀɺҰൠʹ༦ํ͔Β·Ͱ ⾣ Իָੑॏࢹͷ׆ಈελΠϧ ʴ ΞΠυϧੑ ⾣ w ϥΠϒεςʔδ͕த৺ w ΧϑΣλΠϜ͋Γʢ࠙ձతͳ࣌ؒʣ ϑΝϯͷ͍ͷਂ͞ͱ ͍ڧࣄऀҙ͕ࣝҹత
ΈΜͳͰ4XJGU෮शձ(0JOԬr TU⒌ !͘͞ΒΠϯλʔωοτԬΦϑΟε
J04$PO ʙ !$0%&/0%&JO-0/%0/
ٕज़ॻయ̒ !ାαϯγϟΠϯγςΟ
ୈೋճٕज़ॻಉਓࢽതཡձ !ຊڮϓϥβϚʔϜ
NPPLNPPLSBEJP ৴̑पه೦ɾϓϥοτϑΥʔϜҠߦ BVEJPCPPLKQ
ΈΜͳͰ4XJGU෮शձ ͷ ෮शձ !੨༿Ϩϯλϧεϖʔε
༧ఆ
ίϛοΫϚʔέοτநબམͪ !౦ژϏοάαΠτ
ΈΜͳͰ4XJGU෮शձ(0JOԬr OE⒌ !-*/&'VLVPLB
ٕज़ॻయ !ାαϯγϟΠϯγςΟ
ίϛοΫϚʔέοτམͪ !౦ژϏοάαΠτ
ࣥ͘͘චձ ʙٕज़ܥಉਓࢽʗࢽۀɾൃදࢿྉɾϒϩάʙ IUUQTUFDICPPLNFFUVQDPOOQBTTDPN ࠓޙͷ։࠵༧ఆ ⾣ ٢ௐத
͏͙͢ ΅ͪ΅ͪ׆ಈ࠶։த😘
ΈΜͳͰ 4XJGU ෮शձ(0 #minna_de_swift
ޕલͷ෦ ΈΜͳͰ4XJGU෮शձ(0ͱ ⾣ ΈΜͳͰ4XJGU෮शձ 㾎 ͔ͤͬ͘ͳΒΈΜͳͱҰॹʹ෮श͍ͨ͠ ͦ͏ࢥͬͯ౦ژɾौ୩Ͱ࢝Ίͨษڧձ ⾣ ΈΜͳͰ4XJGU෮शձ(0ɺͦͷग़ு൛ 㾎 ौ୩ͷ֎ʹษڧձͷָ͠͞ΛΊ͍ͨ 㾎 ༑ਓͷखΛཔΓʹຊ֤Ͱ։࠵த #minna_de_swift
ΈΜͳͰ 4XJGU ෮शձ(0 ʜΈΜͳͰ4XJGU෮शձ(0JOࡳຈr TU⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOԭೄr OE⒌ 4XJGU%BZ ʜΈΜͳͰ4XJGU෮शձ(0JOઋr SE⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOԬr UI⒌ 4XJGU%BZ ʜΈΜͳͰ4XJGU෮शձ(0JOԬr UI⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOژr UI⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOr UI⒌ XJUI/4&( ʜΈΜͳͰ4XJGU෮शձ(0JOԬr UI⒌ ʜΈΜͳͰ4XJGU෮शձ(0JOؠखr UI⒌ 4XJGU%BZ ʜΈΜͳͰ4XJGU෮शձ(0JOࡳຈr UI⒌ NJOJ ʜΈΜͳͰ4XJGU෮शձ(0JOԬr TU⒌ ࠶ձ
ΈΜͳͰ4XJGU෮शձ ஊসࣜܗ ⾣ ΈΜͳͱ4XJGUΛ෮श͍ͨ͠ ⾣ ͔ͤͬ͘ͳͷͰஊস͠ͳ͕Β ⾣ ͍ͭͰ͔͚ͯ͘͠Εͯ0, #minna_de_swift
ΈΜͳͰ4XJGU෮शձ ৺͕͚ ⾣ ΈΜͳͬͯΔɺࢥ͍ࠐΈ ⾣ ࣗ৴֬ূɺແͯ͘େৎ ⾣ ͳΜͱͳͦ͘͏ࢥ͏ɺେܴ #minna_de_swift
ΈΜͳͰ4XJGU෮शձ ָ͠Έํ ⾣ ͳʹؾΔ͕ग़͖ͯͨΒɺ͢ ྑ͠ɻ ⾣ Βͳ͍ද͕ݱग़͖ͯͨΒɺײಈͨ͠Γʹ͢Δ ྑ͠ɻ ⾣ ͨͩɺฉ͍͍ͯΔ ྑ͠ɻ #minna_de_swift
ΈΜͳͰ4XJGU෮शձ(0 -BOHVBHF(VJEF ΈΜͳͰ4XJGU෮शձ ۽୩༑ IUUQF[OFUKQ 4XJGU
ΠχγϟϥΠβʔ
ΠχγϟϥΠβʔ ׂ ⾣ ΫϥεɺߏମɺྻܕڍͷΠϯελϯεΛੜ͢Δϓϩηε 㾎 ֤อଘܕϓϩύςΟʔʹॳظΛઃఆ 㾎 ΠϯελϯεੜʹඞཁͳɺॳظԽॲཧΛ࣮ࢪ
ΠχγϟϥΠβʔ ಛ ಛఆͷܕΛΠϯελϯεԽ͢ΔͨΊͷಛघϝιου 4XJGUͷΠχγϟϥΠβʔΛฦ͞ͳ͍ w w ׂΓͯΒΕͨྖҬ͕selfͰ͞ΕΔ selfʹରͯ͠ॳظԽΛߦ͏ ΠϯελϯεΛ࣮֬ʹॳظԽ͢Δ͜ͱ͕
ΠχγϟϥΠβʔ ఆٛํ๏ͱ༻ํ๏ ⾣ initΩʔϫʔυͰఆٛ͢Δ ⾣ ʹ໊ܕҾϦετΛఴ͑Δͱ࣮ߦ͞ΕΔ class Object { init() { } } // インスタンスの生成 let object = Object()
ΠχγϟϥΠβʔ ॳظԽͷݪଇ ⾣ શͯͷϓϩύςΟʔͷॳظԽ͕ඞཁ ⾣ ϓϩύςΟʔએͨ·࣌ݴΠχγϟϥΠβʔͷ࣮Ͱ࣮ࢪ class Object { var property1 = 0 var property2: Int init(property2: Int) { self.property2 = property2 }
ΠχγϟϥΠβʔ σΠχγϟϥΠβʔ ⾣ EFJOJUΩʔϫʔυͰఆٛ͢Δ ⾣ Ϋϥε͚ͩʹ࣮Ͱ͖ɺࢀর͞Εͳ͘ͳΔͱࣗಈ࣮ߦ class Object { deinit { }
&OKPZ4XJGU 5IBOLZPV ΈΜͳͰ4XJGU෮शձ(0 -BOHVBHF(VJEF *OJUJBMJ[BUJPO ⾣ ۽୩༑ IUUQF[OFUKQ ΠχγϟϥΠβʔ