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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
240
The least you need to know about hashing in Swift
gregheo
0
180
Shared Mutable State
gregheo
0
520
Promises, Futures, and the Shape of Your Code
gregheo
0
68
Shared, Exclusive, Mutable, Immutable
gregheo
0
150
Getting Under Swift’s Skin
gregheo
0
550
Sanitizing Threads for Fun & Profit
gregheo
0
160
Sanitizing All* The Things
gregheo
0
65
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
420
Other Decks in Technology
See All in Technology
Phase05_ClaudeCode入門
overflowinc
0
1.9k
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
370
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
170
20260320_JaSST26_Tokyo_登壇資料.pdf
mura_shin
0
120
LINEヤフーにおけるAIOpsの現在地
lycorptech_jp
PRO
5
2.2k
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
420
スピンアウト講座02_ファイル管理
overflowinc
0
1.2k
建設DXを支えるANDPAD: 2025年のセキュリティの取り組みと卒業したいセキュリティ
andpad
0
170
今日から始められるテスト自動化 〜 基礎知識から生成AI活用まで 〜
magicpod
1
130
Kiroで見直す開発プロセスとAI-DLC
k_adachi_01
0
130
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
350
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
180
Featured
See All Featured
Crafting Experiences
bethany
1
93
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
[SF Ruby Conf 2025] Rails X
palkan
2
850
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
300
We Are The Robots
honzajavorek
0
200
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
230
Code Reviewing Like a Champion
maltzj
528
40k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
250
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Producing Creativity
orderedlist
PRO
348
40k
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