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
320
市民のためのセキュリティ講座
jollyjoester
0
46
コミュニティMTG in WWDC24
jollyjoester
0
310
BengaluruでLTしてきた
jollyjoester
0
350
try! Swift Tokyo 2024
jollyjoester
0
340
エンジニアが直接会う場の価値について
jollyjoester
8
4.4k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
370
My favorite sessions in WWDC 23
jollyjoester
0
670
みんなでAIと戯れよう
jollyjoester
0
150
Other Decks in Education
See All in Education
Transición del Management al Neuromanagement
jvpcubias
0
240
情報科学類で学べる専門科目38選
momeemt
0
630
万博マニアックマップを支えるオープンデータとその裏側
barsaka2
0
910
EVOLUCIÓN DE LAS NEUROCIENCIAS EN LOS CONTEXTOS ORGANIZACIONALES
jvpcubias
0
180
日本の情報系社会人院生のリアル -JAIST 修士編-
yurikomium
1
130
みんなのコード 2024年度活動報告書/ 2025年度活動計画書
codeforeveryone
0
350
小学校女性教員向け プログラミング教育研修プログラム「SteP」の実践と課題
codeforeveryone
0
140
Introduction - Lecture 1 - Web Technologies (1019888BNR)
signer
PRO
0
5.6k
Google Gemini (Gem) の育成方法
mickey_kubo
2
220
Портфолио - Шынар Ауелбекова
shynar
0
120
DIP_1_Introduction
hachama
0
220
Técnicas y Tecnología para la Investigación Neurocientífica en el Neuromanagement
jvpcubias
0
170
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A Tale of Four Properties
chriscoyier
161
23k
Building Adaptive Systems
keathley
44
2.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Documentation Writing (for coders)
carmenintech
75
5.1k
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ϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ