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
Presentation with Coordinators
Search
Yusuke Kawanabe
January 10, 2018
Technology
830
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Presentation with Coordinators
Yusuke Kawanabe
January 10, 2018
More Decks by Yusuke Kawanabe
See All by Yusuke Kawanabe
Gunosy for Apple Watchができるまで
ykawanabe
6
840
Other Decks in Technology
See All in Technology
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
200
Pavlokで始める電撃駆動開発
sgrsn
0
170
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
170
AIQAのナレッジ構築について
qatonchan
1
160
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
モダンフロントエンド 開発研修
recruitengineers
PRO
1
260
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
110
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
250
AIが自社のTableauを操作する世界へ:Tableau MCP超入門
tbtykk
0
110
SnowflakeCoCoでデータエンジニアリング!
foursue
0
170
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.6k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.4k
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.6k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
440
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
A designer walks into a library…
pauljervisheath
211
24k
Tell your own story through comics
letsgokoyo
1
1k
Chasing Engaging Ingredients in Design
codingconduct
0
260
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
420
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
The Invisible Side of Design
smashingmag
301
52k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
760
Transcript
Presentation with Coordinators Yusuke Kawanabe (@ykawanabe)
2 Yusuke Kawanabe (@ykawanabe) • San FranciscoͰConnected Food SensorͷΞϓϦΛ։ൃ •
ʮiOS 11 ProgrammingʯͰୈ8ষ ʮUIKitͷΨΠυϥΠϯ ͷมߋͱAutoLayoutͷ৽ػೳɺΞοϓσʔτʯΛ୲ • ʮΑ͘Θ͔ΔAuto Layoutʯஶऀ • 2017͔ΒτϥΠΞεϩϯΛ͡ΊϋʔϑΞΠΞϯϚϯʹ Lead iOS Engineer at Nima
3 Nima • ੈքॳͷϙʔλϒϧάϧςϯηϯαʔٴͼ ϐʔφοπηϯαʔʹΑͬͯɺ৯ʹ҆৺ Λಧ͚͍ͯΔ • CES 2016ͷTechCrunch Hardware
Battlefieldʹͯ༏উ • CES 2018ʹͯϐʔφοπηϯαʔΛൃද
4 ΞϓϦ։ൃ͍͠
5 •ྫ͑ɺϑϦϚΞϓϦʹͯɺ ϩάΠϯը໘ΛɺΞϓϦىಈ ͔࣌Βબޙʹมߋ͢Δ A/BςετΛ͍ͨ͠ͳͲɻ UIશվम •ݟͨͷϦχϡʔΞϧɻ࠷ऴ తʹΞϓϦΛ࠶ߏங͢Δඞ ཁʹഭΒΕΔ͜ͱ͕ଟ͍ •ྫ͑MVVMΛ࠾༻ͨ͠
߹ʹɺView ModelʹϏδωε ϩδοΫ͕ूத͠ͳView Modelͱͳͬͯ͠·͏ͳͲɻ Ϣʔβʔϑϩʔมߋ ࠶ར༻ੑͷ͞ Ή͔͠ࠔͬͨ͜ͱ
6 ॊೈੑɺݎ࿚ੑɺ࠶ར༻ੑ Λߟ͑ΞϓϦΛ࠶ߏங͓ͨ͠
7 NimaͰʁ
8 NimaΞϓϦͰͰ͖Δ͜ͱ
9 NimaΞϓϦઃܭ֓ཁ Coordinator Scene View Controller View Model Context Interactor
Model Model Presentation Use Case Business Logic Use Case View
10 NimaΞϓϦઃܭ֓ཁ Coordinator Scene View Controller View Model Context Interactor
Model Model Presentation Use Case Business Logic Use Case View
11 NimaΞϓϦઃܭ֓ཁ Coordinator Scene View Controller View Model Context Interactor
Model Model View • Use caseୡΛཧ͢ΔΫϥε • ྫʣϢʔβʔϨετϥϯҰཡΛऔಘͰ͖Δ Presentation Use Case Business Logic Use Case
12 NimaΞϓϦઃܭ֓ཁ Coordinator Scene View Controller View Model Context Interactor
Model Model Presentation Use Case Business Logic Use Case View
Presentation Use Case Business Logic Use Case 13 NimaΞϓϦઃܭ֓ཁ Coordinator
Scene View Controller View Model Context Interactor Model Model View • MVVMͰͷView Modelͱಉ༷ͷׂ • දࣔʹඞཁͳঢ়ଶͷอ࣋ͱɺView Controller͔Βͷೖྗཧ • ͍ࣺͯ • MVVMͰͷView Controllerͱಉ༷ͷׂ • ViewͱView ModelΛܨ͙ͷΈ • View ControllerՄೳͳݶΓΞϗʹ • ͍ࣺͯ
14 NimaΞϓϦઃܭ֓ཁ Coordinator Scene View Controller View Model Context Interactor
Model Model View • ϓϨθϯςʔγϣϯϢʔεέʔεΛཧ͢Δ • e.g. ϢʔβʔొϑϩʔɺϨετϥϯݕࡧϑ ϩʔͳͲ Presentation Use Case Business Logic Use Case
15 Coordinator App Coordinator Coordinator Navigation Coordinator Scene Coordinator
16 Scene Coordinators and Scenes Scene Scene Coordinator •͋Δϑϩʔͷ֤ϏϡʔΛఆ͍ٛͯ͠ΔɻView ModelΛड͚औΓView
ControllerΛฦ͢ɻ •͋ΔϑϩʔΛఆ͍ٛͯ͠Δɻ֤View ModelΛ ࢹ࣍͠ͷSceneΛදࣔ͢Δɻ •͋Δϑϩʔʹ͓͚Δঢ়ଶΛอ࣋͢Δ •View Controller͕φϏήʔγϣϯʹؔ͢ΔࣝΛ ࣋ͨͳ͍ welcome signup Name signup Email signup Password
signup Password 17 Navigation Coordinator welcome signup Name signup Email
Welcome Scene Coordinator Restaurant Scene Coordinator Review Scene Coordinator •Scene CoordinatorୡΛཧ͠ɺΞϓϦͰͷը໘ભҠΛཧ͢Δɻ •্هͷΑ͏ͳΠϯλʔϑΣʔεΛ࣋ͪɺCoordinatorͷදࣔॱংΛཧ͢Δɻ •ϑϩʔͷೖΕସ͕͑༰қ
18 App Coordinator ىಈ Welcome Scene Coordinator Restaurant Scene Coordinator
•ΞϓϦىಈ࣌ͷը໘ఏڙΛཧ͢ΔɻͦͷͨΊɺKey WindowΛࢀর͠ɺಛఆͷϑϩʔΛ։࢝͢Δ •ىಈ࣌ͷॲཧΛɺApp Delegateʹॻ͔ͳͯ͘͢Ή ϩάΠϯࡁΈ ະϩάΠϯ Key window Λऔಘ Loading Scene Coordinator
19 Ͳ͏ղܾ͞Ε͔ͨ
20 •֤CoordinatorʹͯඞཁʹԠ ͯ͡ॱংΛมߋ͢ΔͷΈ UIશվम •View Controller͕Viewɺ View ModelͱͷଓΛ୲͢ ΔͷΈʹͳΔͷͰɺ෭࡞༻͕ ࠷খʹɻViewٴͼɺView
ControllerΛஔ͖͑ΔͷΈͰ ରԠՄೳɻ •ϓϨθϯςʔγϣϯͱϏδ ωεϩδοΫ͕໌֬ʹ͚Β Ε͍ͯΔͨΊɺϏδωεϩ δοΫ࠶ར༻ੑ͕ߴ͘ͳ Δɻ Ϣʔβʔϑϩʔมߋ ࠶ར༻ੑͷ͞ ΞϓϦ։ൃͰΑ͋͘ΔࠔΔ͜ͱ
21 ·ͱΊ
22 • NimaͷΞϓϦΛ࠶ߏஙͨ͠ • ΞϓϦ։ൃ͍͠ • ιϑτΣΞΞʔΩςΫνϟʔͷબʹΑΓૣ͍։ൃΛอͪͭͭɺॊ ೈੑɺݎ࿚ੑɺ࠶ར༻ੑͷߴ͍ίʔυΛҡ࣋͘͢͠ͳΔ • ʹͳΓ͗͢ͳ͍Α͏ʹɺ։ൃΛ͠ͳ͕ΒɺඞཁʹԠͯ͡ઃܭͨ͠
• ։ൃମ੍ΞϓϦͷཁ݅ʹ͋Θͤͯ࠷దղมΘΔ ·ͱΊ