MVC
as Massive View Controller. Navigation logic scattered around Storyboard, prepareForSegue: and "plain code" approach.
Implement a MVVM
library that works together with UIKit
and has the following features:
- Provides a way to describe navigation flow programmatically.
- Such description should not be placed all over the UI implementation.
- Type safe.
- Way to bind
View Model
toView
. - Moves decision about when and where transitions shold occur to
View Model
s. - Integrates with
Storyboard
. - Binds collections of
View Model
s toUITableView
,UICollectionView
, etc. - Allows to test
View Model
s withoutView
layers. - Reduce boilerplate code usual for
UIKit
: registration of table cells, loading view controllers from storyboard, etc.
View layer (View
+ UIViewController
) no more contains "semi-UI semi-Model" logic. Easier to write functional tests.
You can describe how to instantiate UIView
or UIViewController
(by initializer, from Storyboard
or Nib
) and provide additional information like Reuse Identifier
s. More importantly MVVMKit
using it to setup View
s for you.
Not ready yet. Please, see example project DLife.