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
Thirteen Ways of Looking at a View Controller
Search
Greg Heo
June 06, 2017
Technology
0
120
Thirteen Ways of Looking at a View Controller
View controllers: we know them, love them, despise them, and overload them.
Greg Heo
June 06, 2017
Tweet
Share
More Decks by Greg Heo
See All by Greg Heo
Concurrency From the Ground Up
gregheo
0
180
The least you need to know about hashing in Swift
gregheo
0
120
Shared Mutable State
gregheo
0
410
Promises, Futures, and the Shape of Your Code
gregheo
0
59
Shared, Exclusive, Mutable, Immutable
gregheo
0
140
Getting Under Swift’s Skin
gregheo
0
520
Sanitizing Threads for Fun & Profit
gregheo
0
120
Sanitizing All* The Things
gregheo
0
59
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
380
Other Decks in Technology
See All in Technology
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
950
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
12
4.5k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
10
2.7k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
150
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
1.5k
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
730
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
1
240
生成AIの利活用を加速させるための取り組み「prAIrie-dog」/ Shibuya_AI_1
visional_engineering_and_design
1
140
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
360
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
16
6.5k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Code Review Best Practice
trishagee
66
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
400
Raft: Consensus for Rubyists
vanstee
137
6.8k
A Tale of Four Properties
chriscoyier
158
23k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Rails Girls Zürich Keynote
gr2m
94
13k
Practical Orchestrator
shlominoach
186
10k
Scaling GitHub
holman
459
140k
Code Reviewing Like a Champion
maltzj
521
39k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Transcript
@gregheo AltConf 2017 I was of three minds, Like a
tree In which there are three blackbirds. Thirteen Ways of Looking at a Blackbird Wallace Stevens
@gregheo AltConf 2017 Thirteen Ways of Looking at a View
Controller approximately
@gregheo AltConf 2017 Hold the Model Controller Model View
@gregheo AltConf 2017 Coordinate Between Views Button Label tap action
set text View Controller ???
@gregheo AltConf 2017 View Appearance Callbacks • view did load
• view will / did appear • view will / did disappear
@gregheo AltConf 2017 Handle View Layout • loadView • view
setup in viewDidLoad • view will / did layout subviews • layout guides
@gregheo AltConf 2017 “We shape our buildings, and afterwards
our buildings shape us.”
@gregheo AltConf 2017 Miscellaneous • “is editing” state • state
restoration • search display controller • title
@gregheo AltConf 2017 Manage Style • presentation style • transitions
• thirteen ways to handle rotation
@gregheo AltConf 2017 Navigation • Navigation controllers, tab bar controllers,
split view controllers • View controller containment • Storyboard segues
@gregheo AltConf 2017 Among twenty snowy mountains, The only moving
thing Was the eye of the blackbird. swift
@gregheo AltConf 2017 " #
@gregheo AltConf 2017 so controlling such view much single responsibility
wow very SOLID
@gregheo AltConf 2017 Model View Presentation Logic Navigation Business Logic
Manage Views Massive View Controller View Controller
@gregheo AltConf 2017 View Controller Model View Presentation Logic Navigation?
Business Logic Manage Views MVVM View Model
@gregheo AltConf 2017 Routing Entity View Presentation Logic Navigation Business
Logic Models VIPER Presenter Interactor
@gregheo AltConf 2017 Router View Presentation Logic Navigation Business Logic
Model Riblets Presenter Interactor
@gregheo AltConf 2017 Streams View Model Reactive Observer Business Logic
View Model Business Logic
@gregheo AltConf 2017 When the blackbird flew out of sight,
It marked the edge Of one of many circles.
@gregheo AltConf 2017
@gregheo AltConf 2017
@gregheo AltConf 2017 Thirteen Ways of Looking at a View
Controller