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アプリ開発入門_08
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
jollyjoester
April 02, 2016
Education
100
0
Share
Swiftで作るiOSアプリ開発入門_08
Schoo講義資料
jollyjoester
April 02, 2016
More Decks by jollyjoester
See All by jollyjoester
印西市創業実践プログラム2026 【AI活用講座】
jollyjoester
0
16
AI時代でも変わらない技術コミュニティの力 ~10年続く"ゆるい"つながりが生み出す価値~
jollyjoester
0
11
AIコードアシスタントとiOS開発
jollyjoester
1
360
市民のためのセキュリティ講座
jollyjoester
0
80
コミュニティMTG in WWDC24
jollyjoester
0
350
BengaluruでLTしてきた
jollyjoester
0
390
try! Swift Tokyo 2024
jollyjoester
0
380
エンジニアが直接会う場の価値について
jollyjoester
8
4.6k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
410
Other Decks in Education
See All in Education
From Participation to Outcomes
territorium
PRO
0
440
2026年度春学期 統計学 講義の進め方と成績評価について (2026. 4. 9)
akiraasano
PRO
0
140
モブ社員がモブエンジニアを名乗って得られたこと_20260413
masakiokuda
4
450
P3NFEST 2026 Spring ハンズオン「ハッキング・ラブ!はじめてのハッキングをやってみよう」資料
nomizone
0
430
環境・社会理工学院(建築学系)大学院説明会 2026|東京科学大学(Science Tokyo)
sciencetokyo
PRO
0
1.7k
リモートリポジトリの操作 / 02-c-remote
kaityo256
PRO
0
160
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4019538FNR)
signer
PRO
0
3.1k
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
3.8k
2026年度春学期 統計学 第1回 イントロダクション ー 統計的なものの見方・考え方について (2026. 4. 9)
akiraasano
PRO
0
110
2026年度春学期 統計学 第2回 統計資料の収集と読み方 (2026. 4. 16)
akiraasano
PRO
0
140
Alumnote inc. Company Deck
yukinumata
1
16k
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
signer
PRO
0
2.5k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Un-Boring Meetings
codingconduct
0
280
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
160
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.7k
Transcript
SwiftͰ࡞Δ iOSΞϓϦ։ൃೖ 8ݶɿΞϓϦͷϥΠϑαΠΫϧΛཧղ͢Δ 1
ࣗݾհ ࣣౡҒ೭ʢͳͳ͠·ͻͰΏ͖ʣ Reproגࣜձࣾ iPhoneΞϓϦ։ൃ͕͖ 2
ࣗݾհ 3 https://repro.io
ຊίʔεͷඪ ۤΛΓӽ͑ͯ ָ͘͠ΞϓϦ։ൃͰ͖ΔΑ͏ʹͳΔʂ 4
෭ڭࡐ վగ൛ No.1εΫʔϧߨࢣਞʹΑΔ ੈքҰड͚͍ͨ iPhoneΞϓϦ։ൃͷतۀ (ٕज़ධࣾ) 5 AmazonͰˑ5ϨϏϡʔ͕૿͑ͯͨ⽃
ࠓճͷतۀͷඪ ΞϓϦͷϥΠϑαΠΫϧΛཧղ͢Δ 6
तۀͷલఏ݅ • ͓खݩͷMacʹXcode(version7.0Ҏ্)͕Πϯετʔ ϧ͞Ε͍ͯΔ͜ͱ • લճͷ͍ΞϓϦϓϩδΣΫτ͕͋ΔͱΑΓ༗ޮʹ ֶशͰ͖·͢ɻϓϩδΣΫτԼه͔Βμϯϩʔ υͰ͖·͢ɻ https://github.com/jollyjoester/Schoo-iOS-App- Development-Basic/archive/07.zip
7
ຊͷϝχϡʔ • ʢ४උʣը໘ભҠΛͯ͠ΈΔ • ը໘ͷϥΠϑαΠΫϧΛΔ • ΞϓϦͷϥΠϑαΠΫϧΛΔ 8
ͦͷલʹલճͷ࣭͝ ʢΞϓϦͰԻΛ໐Βͯ͠ΈΔʣ • ྫ֎ॲཧͬͯͳΜͰ͍ΔΜͰ͔͢ʁϋʔυΣΞΛ͏Α ͏ͳϓϩάϥϜྫ֎ॲཧ͕ඞཁͳ͜ͱ͓͓͍ΜͰ͢ ͔ ʁfrom தࢁ ཅհ͞Μ ‣
ྫ֎ΤϥʔॲཧΛ༰қʹ͢ΔͨΊʹ͋Γ·͢ɻͲ͜Ͱ Τϥʔ͕ൃੜ͢Δ͔͕Θ͔Γ͘͢ͳΓ·͢ʢdo-tryͷ தͰൃੜ͢Δʣ͠ɺΤϥʔ͕ൃੜͨ͠ͱ͖ʹ͠ͳ͚Ε ͳΒͳ͍͜ͱ͖ͬΓͱ͠·͢ʢcatchͷதʣɻ࠷ ۙͷݴޠͰ͋Ε͍͍ͩͨྫ֎ͱ͍͏ΈΛඋ͑ͯ ͍·͢ɻ 9
ͦͷલʹલճͷ࣭͝ ʢΞϓϦͰԻΛ໐Βͯ͠ΈΔʣ • ࠓͷतۀ༰ͷԠ༻ͰϏʔτϚχΞͷΑ͏ͳΞϓϦ࡞ Εͯ͠·͍·͔͢ʁ࣌ྲྀߦͬͯϋϚΓ·ͨ͠ͷͰɺ໘ന ͦ͏ͱࢥ͍·ͨ͠ɻfrom อࢤ ݈Ұ͞Μ ‣ ͪΖΜ࡞Ε·͢ʂ࣍ճͷδΣενϟʔΛݕ͢ΔΛ
ֶλοϓεϫΠϓΛͬͨΞϓϦΛ࡞ΕΔΑ͏ ʹͳΓ·͢ɻBGMΛྲྀͭͭ͠ɺλοϓεϫΠϓ͕λ Πϛϯάྑ͘͞Ε͔ͨΛఆͯ͠ɺGreatʂͱ͔Λදࣔ ͢ΔΑ͏ʹ͢ΕΠέͦ͏Ͱ͢Ͷɻ 10
Έͳ͞·࣭͋Γ·ͨ͠Βͥͻ࣭͍ͩ͘͝͞ɻ तۀதʹऔΓ্͛ΒΕͳͯ͘ ग़དྷΔݶΓ͓͑͠·͢ʂ ͳΔ΄ͲʂͱࢥͬͨΒʮͳΔ΄ͲʯϘλϯΛ ԡ͍͚ͯͨͩ͠ΔͱྭΈʹͳΓ·͢(`ŋωŋ´) 11
ʢ४උʣը໘ભҠΛͯ͠ΈΔ 12
13 ·࣮ͣફ
৽͍͠ը໘Λ࡞Δ • खॱ ‣ StoryboardʹViewControllerΛՃ͢Δ ‣ ιʔεϑΝΠϧʢxxxViewController.swiftʣΛՃ͢Δ ‣ StoryboardͷViewControllerͱιʔεΛඥ͚Δ 14
৽͍͠ը໘Λ࡞Δ ʢStoryboardͰը໘(ViewController)ΛՃ͢Δʣ 15
৽͍͠ը໘Λ࡞Δ ʢViewControllerͷαΠζΛมߋ͢Δʣ 16
৽͍͠ը໘Λ࡞Δ (ରԠ͢ΔιʔεϑΝΠϧΛ࡞͢Δ) 17
৽͍͠ը໘Λ࡞Δ (ରԠ͢ΔιʔεϑΝΠϧΛ࡞͢Δ) 18
৽͍͠ը໘Λ࡞Δ (ରԠ͢ΔιʔεϑΝΠϧΛ࡞͢Δ) 19
৽͍͠ը໘Λ࡞Δ (ରԠ͢ΔιʔεϑΝΠϧΛ࡞͢Δ) 20 ߲ આ໌ ೖྗ Class: ͜Ε͔Β࡞ΔViewControllerͷ໊લ SecondViewController Subclass
of: ͲΜͳػೳΛҾ͖ܧ͙͔ UIViewController Also create XIB file ݸผը໘ͷݟͨΛ࡞ΔXIBͱ͍͏ ͷΛ࡞Δ νΣοΫ͠ͳ͍ Language: ༻͢Δϓϩάϥϛϯάݴޠ Swift
৽͍͠ը໘Λ࡞Δ (ରԠ͢ΔιʔεϑΝΠϧΛ࡞͢Δ) 21
৽͍͠ը໘Λ࡞Δ (ରԠ͢ΔιʔεϑΝΠϧΛ࡞͢Δ) 22
৽͍͠ը໘Λ࡞Δ (࡞ͨ͠ιʔεͱStoryboardͷViewControllerΛඥ͚ͮΔ) 23
ը໘ભҠΛ͢Δ • खॱ ‣ ը໘ભҠͷΞΫγϣϯʢϘλϯͳͲʣΛՃ͢Δ ‣ ΞΫγϣϯ͔ΒભҠઌͷը໘ʹSegueΛଓ͢Δ 24
ը໘ભҠΛ͢Δ ʢը໘ભҠ͢ΔϘλϯΛՃ͢Δʣ 25
ը໘ભҠΛ͢Δ ʢը໘ભҠ͢ΔϘλϯΛՃ͢Δʣ 26
ը໘ભҠΛ͢Δ ʢϘλϯ͔Β࣍ը໘SegueΛଓ͢Δʣ 27
ը໘ભҠΛ͢Δ ʢϘλϯ͔Β࣍ը໘SegueΛଓ͢Δʣ 28
ը໘ભҠΛ͢Δ ʢϘλϯ͔Β࣍ը໘SegueΛଓ͢Δʣ 29
ը໘ભҠΛ͢Δ ʢ༨ஊɿ࠷ॳͷը໘Λࢦఆ͢Δʣ 30
ը໘ભҠΛ͢Δ ʢΕͳ͍ʣ 31 ❌
ը໘ભҠΛ͢Δ ʢφϏήʔλʔίϯτϩʔϥʔͰΕΔΑ͏ʹ͢Δʣ 32
ը໘ભҠΛ͢Δ ʢφϏήʔλʔίϯτϩʔϥʔͰΕΔΑ͏ʹ͢Δʣ 33
ը໘ભҠΛ͢Δ ʢΕͨʂ͚Ͳͪΐͬͱҧ͏ʣ 34
ը໘ભҠΛ͢Δ ʢ࠷ॳͷը໘ͷφϏήʔλʔίϯτϩʔϥʔΛඇදࣔʹ͢Δʣ 35 ViewController.swift
ը໘ભҠΛ͢Δ ʢભҠઌͷը໘ͷφϏήʔλʔίϯτϩʔϥʔΛදࣔ͢Δʣ 36 SecondViewController.swift
ը໘ભҠΛ͢Δ ʢͰ͖ͨʂʣ 37
ը໘ભҠΛ͢Δ ʢ͓·͚ʣ 38
39 ը໘ͷϥΠϑαΠΫϧΛΔ
40 ͔͜͜Β࠲ֶ
UIViewController 41 ͜Ε·Ͱ࣮͖ͯͨ͠ϓϩάϥϜશ෦ ViewController.swiftʹॻ͍͖ͯ·ͨ͠ ↓ ViewControllerͱԿͰ͠ΐ͏ʁ
UIViewController 42 ViewControllerͱʁ ↓ ը໘Λίϯτϩʔϧ͢Δͷ
UIViewController ʢܧঝʣ 43 ʰܧঝʱͱ͍͏ΈͰ͢Ͱʹ͋Δ UIViewControllerͷػೳΛҾ͖ܧ͍Ͱ ʮViewControllerʯͱ͍͏ը໘Λ࡞͍ͬͯΔ
UIViewController ʢoverrideʣ 44 ը໘ʹඞཁͳػೳͷ΄ͱΜͲ͕ UIViewControllerʹඋΘ͍ͬͯΔ͕ɺΞϓϦݻ ༗ͷॲཧΛՃ͍͑ͨͱ͖ʹʰoverrideʱʢ্ ॻ͖ʣͱ͍͏ΈͰಠࣗॲཧΛՃ͢Δ
UIViewController ʢ͍ͭݺΕΔʁʣ 45 viewDidLoadͱ͍͏ϝιου ࣗͰݺΜͰ͍ͳ͍͚Ͳ࣮ߦ͞ΕΔ ↓ UIViewControllerͷΈͰಛఆͷλΠϛϯάͰ ࣗಈతʹݺΕ͍ͯΔ
UIViewController ʢsuper.viewDidLoad()ʣ 46 ୯७ʹ্ॻ͖ͪ͠Ό͏ͱݩͷॲཧ͕ͳ͘ͳͬ ͯ͠·͏ͷͰsuperͰݩͷॲཧΛݺΜ্ͩͰͦ ͷԼʹಠࣗॲཧΛॻ͘
UIViewController ʢ্ॻ͖Ͱ͖Δॲཧ͍͔ͭ͋͘Δʣ 47 ϝιου໊ ݺΕΔλΠϛϯά viewDidLoad ը໘͕࡞ΒΕͨͱ͖ viewWillAppear ը໘͕දࣔ͞ΕΔલ viewDidApear
ը໘͕දࣔ͞Εͨޙ viewWillDisappear ը໘͕ফ͑Δલ viewDidDisappear ը໘͕ফ͑ͨޙ
࣮ࡍʹ֬ೝͯ͠ΈΑ͏ʂ 48 ViewController.swift
࣮ࡍʹ֬ೝͯ͠ΈΑ͏ʂ 49 SecondViewController.swift
࣮ࡍʹ֬ೝͯ͠ΈΑ͏ʂ 50
ϥΠϑαΠΫϧΛͬͨ۩ମྫ ʢ͏Ұͭͷը໘ͰԻΛ໐Β͞ͳ͍ʣ 51
UIViewController ʢUIViewControllerΛৄ͘͠ΈΔʣ 52
UIViewController ʢUIViewControllerΛৄ͘͠ΈΔʣ 53
54 ΞϓϦͷϥΠϑαΠΫϧΛΔ
ΞϓϦͷϥΠϑαΠΫϧ 55 • ΞϓϦͷىಈɺऴྃͳͲͷλΠϛϯάͰ ࣗಈతʹݺΕΔॲཧ͕͋Δ • AppDelegate.swift
AppDelegate 56 ϝιου໊ ݺΕΔλΠϛϯά application:didFinishLaunching WithOptions ΞϓϦ͕ϝϞϦ্ʹͳ͍ঢ়ଶͰ ىಈͨ͠ͱ͖ applicationWillResignActive ΞϓϦ͕ΞΫςΟϒͰͳ͘ͳΔͱ͖
applicationDidEnterBackground ΞϓϦ͕όοΫάϥϯυ ߦͬͨͱ͖ applicationWillEnterForeground ΞϓϦ͕ϑΥΞάϥϯυʹߦ͘ͱ͖ applicationDidBecomeActive ΞϓϦ͕ΞΫςΟϒʹͳͬͨͱ͖ applicationWillTerminate ΞϓϦ͕ऴྃͨ͠ͱ͖
࣮ࡍʹ֬ೝͯ͠ΈΑ͏ʂ 57 AppDelegate.swift
࣮ࡍʹ֬ೝͯ͠ΈΑ͏ʂ 58 • ΞϓϦىಈ • ௨ηϯλʔ or ίϯτϩʔϧηϯλʔ։ ͘ด͡Δ •
ϗʔϜϘλϯͰΞϓϦΛऴྃ͢Δ
࣮ࡍʹ֬ೝͯ͠ΈΑ͏ʂ 59 • ࠶ΞϓϦΛ্ཱͪ͛Δ • ϗʔϜϘλϯͰΞϓϦΛऴྃ͢Δ • ϝϞϦ͔Βআͯ͠શʹऴ͔ྃͤͯ͞ Β࠶ΞϓϦΛ্ཱͪ͛Δ
ຊͷ͓͞Β͍ • ը໘ɺΞϓϦͷϥΠϑαΠΫϧΛ্ͬͨͰదͳ λΠϛϯάʹॲཧΛ࣮͠Α͏ʂ 60
ࠂ 61 http://love-swift.connpass.com/ ࣍4݄24ʂ
ࠂ 62 http://liginc.co.jp/series/spaceapps LIGϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ