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
Context Engineeringの取り組み
nutslove
0
370
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
700
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
20260204_Midosuji_Tech
takuyay0ne
1
160
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
630
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
A designer walks into a library…
pauljervisheath
210
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Designing Experiences People Love
moore
144
24k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Bash Introduction
62gerente
615
210k
Google's AI Overviews - The New Search
badams
0
910
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
55
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