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
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
280
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
250
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
yimajo
22
6.3k
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
2.2k
Swift 5.9 からの Observation はiOS17 未満 からも使えて struct の変更検知もできるんすかね?
yimajo
2
990
不安定なテストは200種類あんねん
yimajo
3
1k
TCA v0.19.0からのSwitchStore/CaseLetが良い
yimajo
0
1.9k
TCAでViewStoreにKeyPath DynamicMemberLookupが使われてる件
yimajo
0
1.1k
TCAでのClient/Managerの 利用パターンでは副作用のActionやErrorを分離できる
yimajo
0
890
Other Decks in Technology
See All in Technology
人工衛星のファームウェアをRustで書く理由
koba789
15
8.3k
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
240
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
270
「Linux」という言葉が指すもの
sat
PRO
4
140
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
230
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
110
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Scaling GitHub
holman
463
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
Side Projects
sachag
455
43k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Designing for Performance
lara
610
69k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Practical Orchestrator
shlominoach
190
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
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
Λ࡞ͬ ͨΓ͍ͯ͠·͢