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
170
The least you need to know about hashing in Swift
gregheo
0
110
Shared Mutable State
gregheo
0
390
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
58
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
360
Other Decks in Technology
See All in Technology
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
280
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
27
23k
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
280
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
160
いまからでも遅くないコンテナ座学
nomu
0
120
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
Qiita埋め込み用スライド
naoki_0531
0
5.2k
Work as an App Engineer
lycorp_recruit_jp
0
340
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
150
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
380
Yahoo! ズバトクにおけるフロントエンド開発
lycorptech_jp
PRO
0
100
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Unsuck your backbone
ammeep
669
57k
Navigating Team Friction
lara
183
15k
GraphQLとの向き合い方2022年版
quramy
44
13k
Statistics for Hackers
jakevdp
796
220k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
910
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Facilitating Awesome Meetings
lara
50
6.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
450
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