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
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
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
4
4.8k
260422_Sansan_Tech_Talk__関西_vol.3_データ活用のリアル__矢田__.pdf
sansantech
PRO
0
140
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
110
これからの「データマネジメント」の話をしよう
sansantech
PRO
0
170
Route 53 Global Resolver で高額課金発生!
otanikohei2023
0
130
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
410
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3.1k
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
160
ServiceNow Knowledge 26 の歩き方
manarobot
0
250
色を視る
yuzneri
0
270
小説執筆のハーネスエンジニアリング
yoshitetsu
0
850
Hacobu Tech Deck
hacobu
PRO
0
140
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.4k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
100
GraphQLとの向き合い方2022年版
quramy
50
15k
The Cult of Friendly URLs
andyhume
79
6.9k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
330
KATA
mclloyd
PRO
35
15k
Designing Powerful Visuals for Engaging Learning
tmiket
1
350
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.2k
Typedesign – Prime Four
hannesfritz
42
3k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Faster Mobile Websites
deanohume
310
31k
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