reactive cocoa && mvvm
TRANSCRIPT
![Page 1: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/1.jpg)
Quiz 1
![Page 2: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/2.jpg)
Quiz 2
What is the homework?
![Page 3: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/3.jpg)
Homework
![Page 4: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/4.jpg)
ReactiveCocoa && MVVMHai Feng Kao
![Page 5: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/5.jpg)
MVC (Model View Controller)
ModelView Controller
Input
Update
Update
Notify
![Page 6: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/6.jpg)
禪師 -鈴木俊隆
![Page 7: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/7.jpg)
MVC (Model View Controller)
Model
View ControllerInput
Update
Notify Update
View Selection
![Page 8: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/8.jpg)
MVC (Model View Controller)
• Pros : • Independent module• Reusable model
• Cons:• too may files• hard to write unit test• controller need to access view&model
![Page 9: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/9.jpg)
MVVM(Model View ViewModel)
ModelView ViewModel
Input Update
![Page 10: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/10.jpg)
MVVM(Model View ViewModel)
• Pros:• ViewModel can be unit tested
• ViewModel has no access to view• Model has no access to ViewModel
• View is simple• UI logic moved to ViewModel
• Cons:• hard to debug• performance hit!!!
![Page 11: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/11.jpg)
MVVM(Model View ViewModel)
ModelView ViewController ViewModelReactiveCocoa
![Page 12: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/12.jpg)
Demo
• Do it
![Page 13: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/13.jpg)
Next Class
![Page 14: Reactive Cocoa && MVVM](https://reader030.vdocuments.net/reader030/viewer/2022012901/55ce05e8bb61eb08208b45a1/html5/thumbnails/14.jpg)
Q&A
Thank you