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
MVVM: An iOS Journey
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kim Arnett
June 09, 2017
Technology
110
0
Share
MVVM: An iOS Journey
Slides from my talk @ Beer City Code in Grand Rapids, MI June 2017
Kim Arnett
June 09, 2017
More Decks by Kim Arnett
See All by Kim Arnett
iOSIntroSlides.pdf
kimberlyarnett
0
160
Other Decks in Technology
See All in Technology
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
670
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
19
20k
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
220
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
240
さきさん文庫の書籍ができるまで
sakiengineer
0
330
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
990
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
320
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.1k
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
680
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
600
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
120
Featured
See All Featured
Docker and Python
trallard
47
3.9k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Statistics for Hackers
jakevdp
799
230k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
RailsConf 2023
tenderlove
30
1.5k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
It's Worth the Effort
3n
188
29k
Typedesign – Prime Four
hannesfritz
42
3.1k
Optimizing for Happiness
mojombo
378
71k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Transcript
MVVM: An iOS Journey Kim Arnett @kimberlypilbeam
MVVM: An iOS Journey Problem: Testing is a bear. Files
continue to be massive. Hacks for testing feel terrible. Dependency injection?
MVVM: An iOS Journey Swift gave Obj-C programmers an appreciation
for cleaner solutions.
MVVM: An iOS Journey Swift gave Obj-C programmers an appreciation
for cleaner solutions. [[[[[you know] what] im] talking] about]
ARCHITECTURE
MVC: Model View Controller (recommended by Apple) Model Controller View
User Action Updates Notifies Updates
MVVM: Model View ViewModel Model ViewModel View User Action Updates
Notifies Updates
MVC: Model View Controller (recommended by Apple) Model Controller View
UIView UIViewController • Logic • Network Calls Data Models
MVVM: Model View ViewModel Model ViewModel View UIViewController UIView Logic
Network Calls Data Models
TESTING
Unit Testing VS UI Testing Unit Testing is for Logic
& Business Requirements UI Testing* is to make sure views exist & can be navigated *Important to set Accessibility labels
MVVM: Model View ViewModel Model ViewModel View UIViewController UIView Logic
Network Calls Data Models Unit Testing with Mock Data
MVVM: Model View ViewModel Model ViewModel View UIViewController UIView Logic
Network Calls Data Models UI Testing with Mock Data
Implementation
MVVM: An iOS Journey Cleaner Code Better Performance & Less
Hack-y Easier Maintainability Open for Testing
MVVM: An iOS Journey Kim Arnett @kimberlypilbeam github.com/karnett/MVVM