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
1113
cbtlibrary
0
290
HyRead2425
cbtlibrary
0
120
Adobe Express
matleenalaakso
1
7.7k
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
870
小学校プログラミング教育、次の5年に向けて 〜つくること・学ぶことの歓びへ〜 /NextGenerationOfProgrammingEducation
kiriem
2
350
The Prison Industrial Complex by Billy Dee
oripsolob
0
540
LinkedIn
matleenalaakso
0
3.5k
Da Necessidade da Devoção à Virgem Santíssima
cm_manaus
0
120
Ch2_-_Partie_2.pdf
bernhardsvt
0
120
オンラインゆっくり相談室ってなに?
ytapples613
PRO
0
110
自分にあった読書方法を探索するワークショップ / Reading Catalog Workshop
aki_moon
0
300
A Chatbot is Not a Search Engine (it's more like a roleplaying game)
dsalo
0
140
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Automating Front-end Workflow
addyosmani
1367
200k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Navigating Team Friction
lara
183
15k
Typedesign – Prime Four
hannesfritz
40
2.5k
Documentation Writing (for coders)
carmenintech
67
4.6k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Become a Pro
speakerdeck
PRO
26
5.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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ϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ