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
やはりお前らのiOSアプリ開発は間違っている
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yimajo
August 20, 2016
Technology
8
6.7k
やはりお前らのiOSアプリ開発は間違っている
LT枠なので自分だけゆるい発表になりましたが、他の発表は良い物ばかりでした
https://iosdc.jp/2016/
yimajo
August 20, 2016
Tweet
Share
More Decks by yimajo
See All by yimajo
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
690
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
610
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
360
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
300
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
yimajo
22
6.5k
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
2.5k
Swift 5.9 からの Observation はiOS17 未満 からも使えて struct の変更検知もできるんすかね?
yimajo
2
1.1k
不安定なテストは200種類あんねん
yimajo
3
1.1k
TCA v0.19.0からのSwitchStore/CaseLetが良い
yimajo
0
2k
Other Decks in Technology
See All in Technology
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
2
1k
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
170
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
1.1k
ブラックボックス観測に基づくAI支援のプロトコルのリバースエンジニアリングと再現~AIを用いたリバースエンジニアリング~ @ SECCON 14 電脳会議 / Reverse Engineering and Reproduction of an AI-Assisted Protocol Based on Black-Box Observation @ SECCON 14 DENNO-KAIGI
chibiegg
0
140
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
360
DX Improvement at Scale
ntk1000
2
290
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
1
310
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
7
7.1k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
Serverless Agent Architecture on Azure / serverless-agent-on-azure
miyake
1
150
「ヒットする」+「近い」を同時にかなえるスマートサジェストの作り方.pdf
nakasho
0
110
入門DBSC
ynojima
0
130
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Language of Interfaces
destraynor
162
26k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
A Tale of Four Properties
chriscoyier
162
24k
[SF Ruby Conf 2025] Rails X
palkan
2
810
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
Γ͓લΒͷ J04ΞϓϦ։ൃؒҧ͍ͬͯΔ !ZJNBKP JPTED
ࠓճ ΈΜͳେ͖Ͱ͍ͭ࡞ͬͯ͠·͏ BaseViewControllerʹ͍ͭͯ Λ͠·͢
ΦϨࢲBaseViewController Λ ࡞Γͨ͘ͳ͍Αͬͯํ ͦͷҙࢥද໌Λ͢Δͷʹ ͜ͷ-5ʹථ͓ͯ͘͠ͱϕετ
ͷલఏΛ֬ೝ͢ΔΑ
J04ΞϓϦ։ൃ ͱ͍ͬͯ
࡞ͬͯऴΘΓ
ʜͷɺ Ͱͳ͍
࡞ͬͯϦϦʔεͯ͠ ෆ۩߹Λमਖ਼͠
νʔϜͷϝϯόʔ͕ ૿͑ͨΓݮͬͨΓ
৽͍͠ػೳΛՃͨ͠ΓΛ ʑ܁Γฦ͍ͯ͘͠
ͦ͏͍͏࣌ʹɺ
BaseViewControllerΛ࡞Δͷ ؒҧ͍ͬͯΔ݅
BaseViewController ͱ
֤ը໘༻ͷ 7JFX$POUSPMMFS͕ ܧঝͯ͠͏ UIViewController BaseViewController ViewController ViewController
• ϥΠϑαΠΫϧʹԠͯ͡ ΞφϦςΟΫεܥͷϝιο υΛݺͼग़ͨ͠Γ • Կ͔͠ΒͷϥΠϒϥϦͷ ݺͼग़͠ΛϝιουͰӅ ṭ͠Α͏ͱͨ͠Γ UIViewController BaseViewController
ViewController ViewController
Կ͕ؒҧ͍ͬͯΔ͔
࣭ͱճܗࣜͰ ߟ͍͑ͯ͘
ʮ6*5BCMF7JFX$POUSPMMFSͱ 6*$PMMFDUJPO7JFX$POUSPMMFSΛ͍͍ͨ ߹Ͳ͏ͬͯͦͷ #BTF7JFX$POUSPMMFS͏ΜͰ͔͢ʁʯ ࣭
ͦͷࡍɺΞϓϦಠࣗͷॲཧΛ࣮͢ΔͨΊʹ UIViewControllerΛܧঝͨ͠ BaseViewControllerΛͭ͘ΓͦΕΛ֤ը໘༻ ͷViewController͕ܧঝͯ͠͏͜ͱ͕͋Δ UITableView Controller TVC BaseView Controller UIViewController
UICollectionView Controller BaseTableView Controller BaseCollectionView Controller ͡Ό͋͜͏͠Α͏ TVC VC VC CVC CVC
ʮͦΕͧΕڞ௨͢Δ࣮Λ Օॴʹίϐϖ͢ΔΘ͚ ͡Όͳ͍Ͱ͢ΑͶʁʯ ࣭
ͦͷࡍɺΞϓϦಠࣗͷॲཧΛ࣮͢ΔͨΊʹ UIViewControllerΛܧঝͨ͠ BaseViewControllerΛͭ͘ΓͦΕΛ֤ը໘༻ ͷViewController͕ܧঝͯ͠͏͜ͱ͕͋Δ ʰ6UJMJUZΛ࡞ͬͯͦ͜ʹ࣮͢ΔΑʂʱ UITableView Controller TVC UIViewController UICollectionView
Controller TVC VC VC CVC CVC BaseView Controller BaseTableView Controller BaseCollectionView Controller Utility
ʮ#BTF7JFX$POUSPMMFSΛ ܧঝͨ͘͠ͳ͍7JFX$POUSPMMFSͬ ͯग़͖ͯ·͢ΑͶʁʯ ࣭
ͦͷࡍɺΞϓϦಠࣗͷॲཧΛ࣮͢ΔͨΊʹ UIViewControllerΛܧঝͨ͠ BaseViewControllerΛͭ͘ΓͦΕΛ֤ը໘༻ ͷViewController͕ܧঝͯ͠͏͜ͱ͕͋Δ BaseView Controller BaseTableView Controller BaseCollectionView Controller
ʰͦ͏ͳͬͨΒܧঝ͠ͳ͍ʱ UITableView Controller TVC UIViewController UICollectionView Controller TVC VC VC CVC CVC Utility ViewController ϥΠϒϥϦͷVC Կ͔͠Βͷ ϥΠϒϥϦ͕ఏڙ͢Δ
ʮίʔυϨϏϡʔΛ͢Δࡍɺ ܧঝ͖͢7JFX$POUSPMMFSͱ ͦͷܧঝ͠ͳ͍7JFX$POUSPMMFSͷҧ͍ Ͳ͜ΛݟΕผͰ͖ΔΜͰ͔͢ʁʯ ࣭
ʮ#BTF7JFX$POUSPMMFSͷ࣮ Λϝϯόʔશһ͕Ѳͯ͠ͳ͍ ͱා͘ͳ͍Ͱ͔͢ʁʯ ࣭
ʮυΩϡϝϯτͳ͍Θ͚Ͱ͢Α Ͷʁʯ ࣭
ʮͭ·Γʜɺ #BTF7JFX$POUSPMMFSͬͯͦΕ ΦϨΦϨϑϨʔϜϫʔΫͰ͢ΑͶʁʯ
ʰ͓ɺ͓͏ʜʱ
Ҏ্͕ ໝʹΑΔ࣭ͱճྫͰ͢
#BTF7JFX$POUSPMMFS ΦϨΦϨϑϨʔϜϫʔΫ
ͳͥਓJ04Ͱ ΦϨΦϨϑϨʔϜϫʔΫΛ ࡞Γ͕ͨΔ͔
w ʮ͕͜͜͜͏ͳͬͯ͜͏ͳͬͯ͜͏ʜ͜ͷॲཧڞ ௨ԽͰ͖Δʂʯ w ʮܧঝͯ͑͠ΔΑ͏ʹ͓͚ͯ͠ޙͰͳʹ͔ͷ ʹཱͭʂʯ w ʮʢྗ͕ʜཉ͍͔͠ʣʯͱ͍͏͕ݾͷத͔Β ௌ͑͜Δʂ
͓ͦΒ͘ਓࣄΛ ͏·͘Ζ͏ͱ͍͏Ҿྗ ʹऒ͔ΕΔ
ඞཁ͕ͳ͍͔͠Εͳ ͍நԽΛ͢Δ
͘͠ ܦݧ͔ΒϘτϜΞοϓͳઃܭΛߦͳ͍ɺ ͦΕΛࣗͷ্ͩͱצҧ͍͢Δ Μ͡Όͳ͍͔ͳ͋
ͦ͏͍͏ͱ͖ʹ ࢥ͍ग़ͯ͠ཉ͍͠ :"(/*ݪଇ
:"(/*ݪଇ w ޙͰ͏ͩΖ͏ͱ͍͏༧ଌͰ࡞ͬͯߴ͍֬ ͰΘΕͳ͍ͷʹଞͷϝϯόʔཧղ͢Δඞཁ ͕ग़ͯ͘Δ͚ͲແବʹͳΔ w ༧ظ͠ͳ͍มߋʹରͯ͠ઃܭͷ୯७໋͕͞ ͡ΌΜ IUUQTKBXJLJQFEJBPSHXJLJ:"(/* ඞཁʹͳͬͨͱ͖ඞཁͳࣄΛ͢Ε͍͍Α
ʒͷΤϞ͍
ࢲɺ͜͜ʹ͍Δօ͞Μͱಉ͡Ͱɺ ػೳՃෆ۩߹मਖ਼Λਝʹߦ͏ͨΊ ෳࡶͳΞϓϦέʔγϣϯ ϝϯςφϒϧʹॻ͖͍ͨ ͱࢥ͍ͬͯ·͢ɻ
ٳʹ͓ۚͬͯ࿅അ·Ͱ དྷΔͬͯ૬Ͱ͢ΑͶ
ڪΒ͘օ͞Μ ։ൃʹؔ͢ΔݟΛಘΔ͜ͱͰ ΑΓྑ͘ʑͷ։ൃΛ͍͖͍ͯͨ͠ͱ ײ͔ͨ͡ΒདྷͨͣͰ͢
ྫ͑ ʮϢʔβͷͨΊʹػೳΛ͜͏ͯ͠ཉ͍͠ʯ ͬͯཔ·Εͨ࣌ʹ ʮԞਂ͘ͷઃܭ͕ೖΓΜͰͯແཧʜʯ ͬͯݴ͍ͨ͘ͳ͍͡Όͳ͍Ͱ͔͢
BaseViewControllerͬͯඞਢ ͡Όͳ͍͠ޙ͔ΒࢀՃ͢Δϝϯόʔ ͔Βͨ͠ΒअຐʹͳΓͦ͏Ͱ͢
ຊ ։ൃʹؒҧ͍ͳΜͯ ͳ͍
Ͱ ʑͷӡ༻Λߟ͑ΔͳΒ ΦϨΦϨϑϨʔϜϫʔΫΛΘͳ͍ ͬͱྑ͍ΓํΛ ୳͠·͠ΐ͏Α
͡Ό͋ BaseViewController Λ࡞Βͳ͚Ε ΦϨͨͪΌͲ͏͢Ε͍͍ΜͩΑʁ
BaseViewController Λ࡞Βͣʹ ۩ମతʹͲ͏͢Μͷͬͯํ ͦͷҙࢥද໌Λ͢Δͷʹ ͜ͷ-5ʹථ͢Δͷ͕Ұ൪ྑ͍Ͱ͢ Ҏ্Ͱ͢ ͋Γ͕ͱ͏͍͟͝·ͨ͠
w Γ͓લΒͷJ04ରԠؒҧ͍ͬͯΔ w IUUQXXXTMJEFTIBSFOFU:PTIJOPSJ*NBKPJPT w Γ͓લΒͷ$PSF%BUBͷ͍ํؒҧ͍ͬͯΔ w IUUQXXXTMJEFTIBSFOFU:PTIJOPSJ*NBKPDPSFEBUB w J04ΞϓϦͷઃܭͰ#BTF7JFX$POUSPMMFSͷΑ͏ͳͷ࡞Γͨ͘ͳ͍
w IUUQRJJUBDPNZJNBKPJUFNTFGFCECGE ࢀߟ
ࣗݾհ • ࠓ ળۣ(@yimajo) • iOSΞϓϦ։ൃΛࣄʹ͍ͯ͠·͢ • ΤϯδχΞͷΞτϓοτϥϯΩϯ άαʔϏε https://stargzr.net
Λ࡞ͬ ͨΓ͍ͯ͠·͢