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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kim Arnett
June 09, 2017
Technology
0
110
MVVM: An iOS Journey
Slides from my talk @ Beer City Code in Grand Rapids, MI June 2017
Kim Arnett
June 09, 2017
Tweet
Share
More Decks by Kim Arnett
See All by Kim Arnett
iOSIntroSlides.pdf
kimberlyarnett
0
160
Other Decks in Technology
See All in Technology
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.2k
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
100
脳内メモリ、思ったより揮発性だった
koutorino
0
130
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
460
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
350
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
320
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
420
Claude Code Skills 勉強会 (DevelersIO向けに調整済み) / claude code skills for devio
masahirokawahara
1
15k
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
410
[2026-03-07]あの日諦めたスクラムの答えを僕達はまだ探している。〜守ることと、諦めることと、それでも前に進むチームの話〜
tosite
0
180
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
110
Security Diaries of an Open Source IAM
ahus1
0
210
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
740
30 Presentation Tips
portentint
PRO
1
250
For a Future-Friendly Web
brad_frost
183
10k
Become a Pro
speakerdeck
PRO
31
5.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
380
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
エンジニアに許された特別な時間の終わり
watany
106
240k
Everyday Curiosity
cassininazir
0
160
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
120
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
300
Fireside Chat
paigeccino
42
3.8k
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