Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swiftで作るiOSアプリ開発入門_05
Search
jollyjoester
March 05, 2016
Education
0
85
Swiftで作るiOSアプリ開発入門_05
Schoo講義資料
jollyjoester
March 05, 2016
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
コミュニティMTG in WWDC24
jollyjoester
0
250
BengaluruでLTしてきた
jollyjoester
0
290
try! Swift Tokyo 2024
jollyjoester
0
270
エンジニアが直接会う場の価値について
jollyjoester
8
4.1k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
310
My favorite sessions in WWDC 23
jollyjoester
0
590
みんなでAIと戯れよう
jollyjoester
0
120
続く勉強会の作り方
jollyjoester
2
820
Code for INZAIの歩み
jollyjoester
0
410
Other Decks in Education
See All in Education
Sähköiset kyselyt, kokeet ja arviointi
matleenalaakso
1
18k
Algo de fontes de alimentación
irocho
1
480
MySmartSTEAM2425
cbtlibrary
0
110
Evaluation Methods - Lecture 6 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
820
(モブ)エンジニアが伝えるアウトプット活動のススメ!! #カンリーLT
masakiokuda
2
190
1106
cbtlibrary
0
450
世界の将来人口を誰でも語れるようになる
jo76shin
0
110
Flinga
matleenalaakso
2
14k
ThingLink
matleenalaakso
28
3.9k
Ch2_-_Partie_1.pdf
bernhardsvt
0
140
Генезис казарменной архитектуры
pnuslide
0
190
プログラミング基礎#4(名古屋造形大学)
yusk1450
PRO
0
120
Featured
See All Featured
A Tale of Four Properties
chriscoyier
158
23k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Speed Design
sergeychernyshev
25
780
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Fireside Chat
paigeccino
34
3.2k
4 Signs Your Business is Dying
shpigford
182
22k
Optimizing for Happiness
mojombo
376
70k
Navigating Team Friction
lara
183
15k
Statistics for Hackers
jakevdp
797
220k
The Language of Interfaces
destraynor
156
24k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
Transcript
SwiftͰ࡞Δ iOSΞϓϦ։ൃೖ 5ݶɿ؆୯ͳ͍ΞϓϦͷاը͔Β։ൃ·ͰΛମݧ 1
ࣗݾհ ࣣౡҒ೭ʢͳͳ͠·ͻͰΏ͖ʣ Reproגࣜձࣾ iPhoneΞϓϦ։ൃ͕͖ 2
ࣗݾհ 3 https://repro.io
ຊίʔεͷඪ ۤΛΓӽ͑ͯ ָ͘͠ΞϓϦ։ൃͰ͖ΔΑ͏ʹͳΔʂ 4
෭ڭࡐ վగ൛ No.1εΫʔϧߨࢣਞʹΑΔ ੈքҰड͚͍ͨ iPhoneΞϓϦ։ൃͷतۀ (ٕज़ධࣾ) 5
ࠓճͷतۀͷඪ ࠓ·Ͱֶशͨ͠༰ΛԠ༻ͯ͠ اը͔Β։ൃ·ͰΛͬͯΈΔ 6
तۀͷલఏ݅ • ͓खݩͷMacʹXcode(version7.0Ҏ্)͕Πϯετʔ ϧ͞Ε͍ͯΔ͜ͱ 7
ຊͷϝχϡʔ • ΞϓϦͷاըΛ͢Δ • ΞϓϦͷݟͨΛͭ͘Δ • ΞϓϦͷಈ࡞Λͭ͘Δ 8
ͦͷલʹલճͷ࣭͝ ʢΞϓϦͷϓϩάϥϛϯάʹ༻͍ΔSwiftΛֶͿʣ • AutoLayoutͷॎํͷϨΠΞτόϥϯεʢ֤ϞσϧʣΛͲ͏ͨ͠ Βྑ͍͔ڭ͍͖͍͑ͯͨͩͨɻࢲɺશͯAutoLayoutͰΈ͍ͨͰ ͕͢͏·͍͔ͣ͘ํͳ͘Ұ෦ίʔυʹͯΧόʔ͍ͯ͠·͢ɻ from લా ܒ͞Μ ‣
શ෦AutoLayoutͰΧόʔ͢Δͷ͕͍͜͠ͱͪΖΜ͋Γ· ͢ɻྫ͑ΞχϝʔγϣϯͳͲಈతʹը໘Λม͑Δ߹ͳͲ ίʔυͱͷΈ߹Θͤવ͋ΓͰ͢ɻ ‣ Teratailͱ͍͏ΤϯδχΞ͚ͷ࣭αΠτͰιʔείʔυ ΩϟϓνϟʔͳͲؚΊ࣭ͯͰ͖·͢ɻͦ͜Ͱ͍͑ͯΔ ͷͰΑ͚Εৄࡉͦ͜Ͱڭ͍͑ͯͩ͘͞ʂ 9
ͦͷલʹલճͷ࣭͝ ʢΞϓϦͷϓϩάϥϛϯάʹ༻͍ΔSwiftΛֶͿʣ • খܕΛ܁Γ্͛ͯܕʹม͢Δ͜ͱͰ͖·͢ ͔ʁ from Kenta Kataoka ‣ Int(ceil(2.5))Έ͍ͨʹ͢ΔͱͰ͖·͢ɻ
10
ͦͷલʹલճͷ࣭͝ ʢΞϓϦͷϓϩάϥϛϯάʹ༻͍ΔSwiftΛֶͿʣ • ग़൛ܦݧͷ͋Δઌੜʹ࣭Ͱ͢ɻଞݴޠͱҟͳΓɺSwift ʢXcodeʣͳͥόʔδϣϯ্͕͕Δͱաڈόʔδϣϯͱޓ ੑ͕ͳ͍ͷͰ͔͢ʁ·ͨɺॻ੶վగ൛͕සൟʹग़͍ͯΔSwift ٕज़ॻͷՁ͕֨ࡾઍԁҎ্͢Δͷ্هͱ͕ؔ͋ΔͷͰ͔͢ʁ ͋Δٕज़ॻͷதͰසൟʹվగ൛͕ग़͍ͯͯՁ֨Ұ൪ߴ͍Α ͏ʹײ͍ͯ͡·͢ɻ͜ΕΒͷཧ༝Λ͝ଘͰ͔͢ʁ from
อࢤ ݈Ұ͞Μ ‣ ޓੑ͕ͳ͍͜ͱʹ͍ͭͯਐԽΛૣΊΔͨΊʹ͋͑ͯ Γࣺ͍ͯͯΔΜͩΖ͏ͱਪଌ͍ͯ͠·͢ɻՁ֨ʹ͍ͭͯग़ ൛ࣾͷதͷਓͰͳ͍ͷͰΘ͔Γ·ͤΜm(_ _)m 11
ͦͷલʹલճͷ࣭͝ ʢΞϓϦͷϓϩάϥϛϯάʹ༻͍ΔSwiftΛֶͿʣ • ϦϓϩTγϟπཉ͍͚͠ͲɺͲ͏͢ΕखʹೖΔΜͩʁ from อࢤ ݈Ұ͞Μ ‣ ੈքʹ̏ண͔͠ͳ͍وॏͳҰͰ͢ʂ Repro͕ྲྀߦΕͦͷ͏ͪɾɾɾ
12
Έͳ͞·࣭͋Γ·ͨ͠Βͥͻ࣭͍ͩ͘͝͞ɻ तۀதʹऔΓ্͛ΒΕͳͯ͘ ग़དྷΔݶΓ͓͑͠·͢ʂ ͳΔ΄ͲʂͱࢥͬͨΒʮͳΔ΄ͲʯϘλϯΛ ԡ͍͚ͯͨͩ͠ΔͱྭΈʹͳΓ·͢(`ŋωŋ´) 13
ΞϓϦͷاըΛ͢Δ 14
ΞϓϦͷاը • طଘͷΞϓϦΛͬͯͯෆศͩͳ͊ • ͜ΜͳΞϓϦ͕͋Εศརͳͷʹͳ͊ • ͜ͷΞϓϦ͛͢ʔԶ࡞ͬͯΈ͍ͨʂ ‣ ࢥͬͨΒଈϝϞʂ 15
ΞϓϦͷاը • طଘͷΞϓϦΛͬͯͯෆศͩͳ͊ • ͜ΜͳΞϓϦ͕͋Εศརͳͷʹͳ͊ • ͜ͷΞϓϦ͛͢ʔԶ࡞ͬͯΈ͍ͨʂ ‣ ࢥͬͨΒଈϝϞʂ 16
ΞϓϦͷاը ߟ͑͗͢Δલʹ࡞Γ࢝ΊΑ͏ʂ ↓ ߟ͑͗͢Δͱ࡞Γ࢝ΊΔલʹఘΊͪΌ͏ 17
ΞϓϦͷاը ߟ͑͗͢Δલʹ࡞Γ࢝ΊΑ͏ʂ ↓ ߟ͑͗͢Δͱ࡞Γ࢝ΊΔલʹఘΊͪΌ͏ 18
ΞϓϦͷاը ͱʹ͔͘खΛಈ͔ͯ͠ Ͱ͖Δͱ͜Ζ·ͰΖ͏ʂ ʢϦϦʔεʹ͍ͨΒͳͯ͘࡞Γ͔͚ͷΞϓϦ͕Կेͱ͋Γ·͢(T T)ʣ 19
ΞϓϦͷاը ͢Ͱʹ͋ΔΞϓϦͷਅࣅΛ͓͢͢Ί ↓ ٕज़తʹ࣮ݱͰ͖Δ͜ͱ͕Θ͔ͬͯΔ ͬͯΒ͑Δ͜ͱ͕Θ͔͍ͬͯΔ ͨͩ͠ɺLineͱ͔ͦ͏͍͏ͷʹ͢Δ߹શ෦Ͱͳ͘ػೳͷҰ෦Λਅࣅ͢Δͱ͔ʹ͠Α͏ ͋ΕԿेਓͱ͍͏ϕςϥϯΤϯδχΞ͕͍͢͝ظ͔͚ؒͯ࡞͍ͬͯΔͷͰ^^;;; 20
ΞϓϦͷاը ͢Ͱʹ͋ΔΞϓϦͷਅࣅΛ͓͢͢Ί ↓ ٕज़తʹ࣮ݱͰ͖Δ͜ͱ͕Θ͔ͬͯΔ ͬͯΒ͑Δ͜ͱ͕Θ͔͍ͬͯΔ ͨͩ͠ɺLineͱ͔ͦ͏͍͏ͷʹ͢Δ߹શ෦Ͱͳ͘ػೳͷҰ෦Λਅࣅ͢Δͱ͔ʹ͠Α͏ ͋ΕԿेਓͱ͍͏ϕςϥϯΤϯδχΞ͕͍͢͝ظ͔͚ؒͯ࡞͍ͬͯΔͷͰ^^;;; 21
ΞϓϦͷاը ΞΠσΞ͕ग़ͨΒ ↓ ؆୯ͳϝϞॻ͖Λॻ͍ͯΈΔ 22
ΞϓϦͷاը 23
ΞϓϦͷاը ʢΞΠσΞʣ ࡞ͬͯΈΔʂ 24 ͜͠ΕͰ͍͚ͦ͏ͩͧͬͯͷ͕Ͱ͖ͨΒ • ͲΜͳϢʔβʔ͕ • ͍ͭ •
ͲΜͳγνϡΤʔγϣϯͰ • Ͳͷ͘Β͍͏͔ʁ Έ͍ͨͳΑΓৄࡉͳاըΛཱͯ·͢ɻ ͦΕϦϦʔε४උͳͲͱҰॹʹୈ10ճͰ͓͢Δ༧ఆʂ
ΞϓϦͷاը ߹ʹΑͬͯఘΊ؊৺Ͱ͢ɻ Ϩϕϧͷߴ͍ͷΛ࡞Ζ͏ͱͯͥ͠ΜͥΜਐ·ͳ͍ΑΓ ϨϕϧΛ͑ͯͤ͞Δํ͕ઌʹਐΊͨΓ͠·͢ ͋Δఔษڧ͔ͯ͠ΒΞϓϦ։ൃΛ࡞Ζ͏ͱ͍͏ͷ᠘Ͱ ͍͠༰͕ग़͖ͯͨ࣌ͰఘΊͯ͠·ͬͨΓ͠·͢ Կ͔ΛֶΜͩ࣌ͰࣗͳΓʹ࡞ΕΔͷΛ࡞Ζ͏ʂ 25
ΞϓϦͷݟͨΛͭ͘Δ 26
ΞϓϦͷݟͨΛͭ͘Δ 27
ΞϓϦͷݟͨΛͭ͘Δ ʢϓϩδΣΫτͷ࡞ʣ 28
ΞϓϦͷݟͨΛͭ͘Δ ʢStoryboardͷηοτʣ 29
ΞϓϦͷݟͨΛͭ͘Δ ʢLabelͱButtonΛஔʣ 30
ΞϓϦͷݟͨΛͭ͘Δ ʢλΠτϧLabelͷઃఆʣ 31
ΞϓϦͷݟͨΛͭ͘Δ ʢλΠτϧLabelͷઃఆʣ 32
ΞϓϦͷݟͨΛͭ͘Δ ʢ͏Ϙλϯͷઃఆʣ 33
ΞϓϦͷݟͨΛͭ͘Δ ʢ͏Ϙλϯͷઃఆʣ 34
ΞϓϦͷݟͨΛͭ͘Δ ʢಈLabelͷઃఆʣ 35
ΞϓϦͷݟͨΛͭ͘Δ ʢಈLabelͷઃఆʣ 36
ΞϓϦͷݟͨΛͭ͘Δ ʢ݁ՌLabelͷઃఆʣ 37
ΞϓϦͷݟͨΛͭ͘Δ ʢ݁ՌLabelͷઃఆʣ 38
ΞϓϦͷݟͨΛͭ͘Δ ʢPreviewͷ֬ೝʣ 39
ΞϓϦͷݟͨΛͭ͘Δ ʢPreviewͷ֬ೝɿԣʣ 40
ΞϓϦͷݟͨΛͭ͘Δ ʢॎํʹ͔͠ରԠ͠ͳ͍ɿDevice Orientationͷઃఆʣ 41
ΞϓϦͷݟͨΛͭ͘Δ ʢγϛϡϨʔλʔͰճస͠ͳ͍͔֬ೝʣ 42 γϛϡϨʔλʔͷճసcommand + ← or →
ΞϓϦͷಈ࡞Λͭ͘Δ 43
44 ΞϓϦͷಈ࡞Λͭ͘Δ ʢͲΜͳಈ࡞ʹ͍͔ͨ͠ʁʣ ಈLabelɺ݁ՌLabelɺ ϘλϯΛϓϩάϥϜͰ ૢ࡞͍ͨ͠ʂ
45 ΞϓϦͷಈ࡞Λͭ͘Δ ʢϘλϯͱιʔείʔυΛ݁Ϳʣ
46 ΞϓϦͷಈ࡞Λͭ͘Δ ʢϘλϯͱιʔείʔυΛ݁Ϳʣ
47 ΞϓϦͷಈ࡞Λͭ͘Δ ʢಈLabelͱιʔείʔυΛ݁Ϳʣ
48 ΞϓϦͷಈ࡞Λͭ͘Δ ʢಈLabelͱιʔείʔυΛ݁Ϳʣ
49 ΞϓϦͷಈ࡞Λͭ͘Δ ʢ݁ՌLabelͱιʔείʔυΛ݁Ϳʣ
50 ΞϓϦͷಈ࡞Λͭ͘Δ ʢ݁ՌLabelͱιʔείʔυΛ݁Ϳʣ
51 ΞϓϦͷಈ࡞Λͭ͘Δ ʢ݁Ϳࡍͷҙʣ
52 ΞϓϦͷಈ࡞Λͭ͘Δ ʢ݁Ϳࡍͷҙʣ
53 ΞϓϦͷಈ࡞Λͭ͘Δ ʢ݁Ϳࡍͷҙʣ
54 ΞϓϦͷಈ࡞Λͭ͘Δ ʢ݁Ϳࡍͷҙʣ
55 ΞϓϦͷಈ࡞Λͭ͘Δ ʢϘλϯΛԡͨ͠ͱ͖ͷॲཧΛϓϩάϥϜΛॻ͘ʣ
56 ʂ
57 ΞϓϦͷಈ࡞Λͭ͘Δ ʢͦΕͧΕͷ͕ग़Δ֬Λม͑ͯΈΔʣ
ຊͷ͓͞Β͍ • ࢥ͍͍ͭͨΒ͙͢࡞Ζ͏ʂ • ΞϓϦ࡞ΓͷྲྀΕ ‣ ΞϓϦͷݟͨΛ࡞ͬͯ ‣ StoryboardͱιʔείʔυΛଓͯ͠ ‣
ϓϩάϥϜΛॻ͘ 58
ࠂ 59 http://love-swift.connpass.com/ ݄࣍̏̎̕ʂ
ࠂ 60 http://liginc.co.jp/?p=228155 LIGϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ