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 & RAC
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ullrich Schäfer
April 16, 2014
Programming
1
250
MVVM & RAC
Talk given at CocoaHeads Berlin April 2014
Demo project:
https://github.com/stigi/mvvm-example
Ullrich Schäfer
April 16, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
CSC307 Lecture 09
javiergs
PRO
1
840
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
180
Patterns of Patterns
denyspoltorak
0
1.4k
2026年 エンジニアリング自己学習法
yumechi
0
140
AI巻き込み型コードレビューのススメ
nealle
1
300
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
CSC307 Lecture 02
javiergs
PRO
1
780
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
190
Producing Creativity
orderedlist
PRO
348
40k
Why Our Code Smells
bkeepers
PRO
340
58k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Designing for Timeless Needs
cassininazir
0
130
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Transcript
MVVM & RAC CocoaHeads BLN 2014/04
About Me! ! ! stigi " stigi # ullrich.is ||
nslog.de || .com $ ullrich@ .com
Model – View – ViewModel • But first…
Where we come from – MVC Controller Model View Notify
Update Update User Action (according to Apple)
Reality • View controllers carry application logic! • And view
controllers are part of the View! • shouldRotate, viewDidAppear, viewDidLayoutSubviews! • Views often know way to much about the model! • -[UITableViewCell configureWithObject:]! • -[PersonView initWithPerson:]
Model – View – ViewModel Model View | ViewController ViewModel
Update Notify User Actions Notify
Benefits • ViewController holds no application logic! • ViewModel does
not know views! • ViewModel can be reused and extended! • Easy UI changes! • ViewModel is testable! • Easy migration, can co-exist with M–V–C
What goes where Model View | ViewController ViewModel UIView, Nibs,!
UIViewController,! DataSources ViewModel NSManagedObject,! API Controller,! … RAC RAC
Reactive Cocoa • FRP! • React to Change! • Declarative!
• Works great with KVO
Examples • In Xcode! ! ! ! • https://github.com/stigi/mvvm-example
Take aways • You’re doing it wrong! • MVVM is
Zen, give it a try! • MVVM & MVC can co-exists
Questions? • Yes, Please?
About Me! ! ! stigi " stigi # ullrich.is ||
nslog.de || .com $ ullrich@ .com