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
yimajo
August 20, 2016
Technology
8
6.6k
やはりお前らのiOSアプリ開発は間違っている
LT枠なので自分だけゆるい発表になりましたが、他の発表は良い物ばかりでした
https://iosdc.jp/2016/
yimajo
August 20, 2016
Tweet
Share
More Decks by yimajo
See All by yimajo
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
470
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
310
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
270
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
yimajo
22
6.3k
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
2.3k
Swift 5.9 からの Observation はiOS17 未満 からも使えて struct の変更検知もできるんすかね?
yimajo
2
1k
不安定なテストは200種類あんねん
yimajo
3
1k
TCA v0.19.0からのSwitchStore/CaseLetが良い
yimajo
0
2k
TCAでViewStoreにKeyPath DynamicMemberLookupが使われてる件
yimajo
0
1.2k
Other Decks in Technology
See All in Technology
アノテーション作業書作成のGood Practice
cierpa0905
PRO
0
230
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
1
170
組織全員で向き合うAI Readyなデータ利活用
gappy50
4
1.5k
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
510
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
400
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
500
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
530
re:Inventに行くまでにやっておきたいこと
nagisa53
0
700
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
14
82k
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
890
RemoteFunctionを使ったコロケーション
mkazutaka
1
140
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
4
890
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Designing for humans not robots
tammielis
254
26k
KATA
mclloyd
PRO
32
15k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
YesSQL, Process and Tooling at Scale
rocio
173
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Git: the NoSQL Database
bkeepers
PRO
431
66k
It's Worth the Effort
3n
187
28k
Designing for Performance
lara
610
69k
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
Λ࡞ͬ ͨΓ͍ͯ͠·͢