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
130
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
220
The least you need to know about hashing in Swift
gregheo
0
150
Shared Mutable State
gregheo
0
480
Promises, Futures, and the Shape of Your Code
gregheo
0
64
Shared, Exclusive, Mutable, Immutable
gregheo
0
140
Getting Under Swift’s Skin
gregheo
0
530
Sanitizing Threads for Fun & Profit
gregheo
0
130
Sanitizing All* The Things
gregheo
0
60
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
400
Other Decks in Technology
See All in Technology
メルカリIBIS:AIが拓く次世代インシデント対応
0gm
2
490
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
220
2025新卒研修・Webアプリケーションセキュリティ #弁護士ドットコム
bengo4com
3
10k
帳票Vibe Coding
terurou
0
120
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
300
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
1
1.8k
株式会社ARAV 採用案内
maqui
0
190
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
180
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
3
360
第64回コンピュータビジョン勉強会@関東(後編)
tsukamotokenji
0
210
AWSの最新サービスでAIエージェント構築に楽しく入門しよう
minorun365
PRO
10
570
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
130
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
The Cult of Friendly URLs
andyhume
79
6.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
The Invisible Side of Design
smashingmag
301
51k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
470
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Rails Girls Zürich Keynote
gr2m
95
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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