Displayable protocol.ComponentView has been renamed ComponentDisplayable.CollectionViewAdapter and TableViewAdapter.ViewObserver is a dedicated class.DataSource protocol.ComponentView.componentControllerClass not called when creating component.anyViewModel() getter on ComponentController.AsyncCommand.completed closure to escape.ComponentViewController. Replace it with UIViewController, ComponentController.ComponentView.bindings(_:viewModel:) is now generic.Command now expects data instead than the control itself.UICollectionViewDelegate.componentLifecycle from ComponentView.ComponentViewModel conform to new Updatable protocol.router property on ComponentViewModel. Use it to navigate btw your controllers.AsyncCommand.ComponentItemViewModel with Selectable and Unselectable.componentControllerClass could not be overriden.updateCanExecute not called into initTL;DR Drastically simplified DataSource protocols for UITableView and UICollectionView.
Now you only have DataSource* protocols to use.
convert(_: (Element -> NewElement)) for simple conversions.didLoad to didLoadComponent. Additionally this method is called everyComponentCollectionView and ComponentTableView.ComponentCollectionViewModel. Methods moved to DataSource.DataType typealiasTL;DR Support binding with CollectionView was added. Some important features are missing and will be added in beta 3.
API is globally stable but some changes might happen in further betas.
Nib(nib), StoryboardId(id)File() to load a template from a source.ItemIdentifier and SectionIdentifier now need to conform to RawStringRepresentable instead of RawStringRepresentable.RawStringRepresentable to your String enum declaration to make it automatically conform to the protocol.UICollectionView and UITableView by adding a layout attribute to the later one.tableViewSectionTemplate.CollectionLayout and CollectionAutoLayout as TableViewLayout and TableViewFlowLayout.observe(observable:attribute:) method.Converter expecting A with a Optional<A>.TemplateView init not marked as public.DataType not marked as implicitly unwrapped optional.TL;DR Support for binding with TableView was added. Some important features are missing and will be added in beta 2.
ComponentViewModel instances on UITableViewbindTo on optional CommandViewModel as ComponentViewModel for consistency with other related protocols (ComponentView and ComponentController)Akane is now compatible with Xcode 7.1+.
0.12.0 requires iOS8+ and Swift 2.0+.
Also note that due to a bug into Cocoapods 0.39, Akane is not compatible with Xcode 7.1+.
bindings:viewModel from ViewComponent protocol.RelayCommand or a custom one with Command protocol.