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
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Greg Heo
See All by Greg Heo
Concurrency From the Ground Up
gregheo
0
250
The least you need to know about hashing in Swift
gregheo
0
200
Shared Mutable State
gregheo
0
540
Promises, Futures, and the Shape of Your Code
gregheo
0
72
Shared, Exclusive, Mutable, Immutable
gregheo
0
160
Getting Under Swift’s Skin
gregheo
0
560
Sanitizing Threads for Fun & Profit
gregheo
0
160
Sanitizing All* The Things
gregheo
0
68
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
430
Other Decks in Technology
See All in Technology
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
340
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
300
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
290
きのこカンファレンス2026_肩書きを外したとき私は誰か
yamasatimi
1
130
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
250
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
170
product engineering with qa
nealle
0
140
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.3k
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
130
4人目のSREはAgent
tanimuyk
0
370
HookでSAST、CIでSAST、SCAでどうにかしている話 / layered-security-for-ai-written-code-with-sast-and-sca
yamaguchitk333
0
100
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
240
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
640
4 Signs Your Business is Dying
shpigford
187
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Typedesign – Prime Four
hannesfritz
42
3.1k
Designing Experiences People Love
moore
143
24k
Six Lessons from altMBA
skipperchong
29
4.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Speed Design
sergeychernyshev
33
1.9k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
The agentic SEO stack - context over prompts
schlessera
0
840
The Mindset for Success: Future Career Progression
greggifford
PRO
0
370
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
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