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
89
Swiftで作るiOSアプリ開発入門_05
Schoo講義資料
jollyjoester
March 05, 2016
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
AIコードアシスタントとiOS開発
jollyjoester
1
340
市民のためのセキュリティ講座
jollyjoester
0
62
コミュニティMTG in WWDC24
jollyjoester
0
320
BengaluruでLTしてきた
jollyjoester
0
370
try! Swift Tokyo 2024
jollyjoester
0
360
エンジニアが直接会う場の価値について
jollyjoester
8
4.5k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
400
My favorite sessions in WWDC 23
jollyjoester
0
700
みんなでAIと戯れよう
jollyjoester
0
160
Other Decks in Education
See All in Education
Microsoft Office 365
matleenalaakso
0
2.1k
くまのココロンともぐらのロジ
frievea
0
150
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
220
160人の中高生にAI・技術体験の講師をしてみた話
shuntatoda
0
290
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
AWS re_Invent に全力で参加したくて筋トレを頑張っている話
amarelo_n24
2
120
沖ハック~のみぞうさんとハッキングチャレンジ☆~
nomizone
1
570
RGBでも蛍光を!? / RayTracingCamp11
kugimasa
2
370
【ZEPホスト用メタバース校舎操作ガイド】
ainischool
0
170
ロータリー国際大会について~国際大会に参加しよう~:古賀 真由美 会員(2720 Japan O.K. ロータリーEクラブ・(有)誠邦産業 取締役)
2720japanoke
1
770
Leveraging LLMs for student feedback in introductory data science courses (Stats Up AI)
minecr
0
150
多様なメンター、多様な基準
yasulab
PRO
5
19k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
63
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
4 Signs Your Business is Dying
shpigford
187
22k
Ruling the World: When Life Gets Gamed
codingconduct
0
140
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
89
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
110
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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ϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ