React-like API for UITableView & UICollectionView
UITableViewRowAction
API in the TableViewCellModelEditActions
protocol, as UITableViewRowAction
is deprecated in iOS 13. TableViewCellModelEditActions
now uses the UISwipeActionsConfiguration
API instead. (#167, @ronaldsmartin)FlowLayoutCollectionCellViewModel
protocol to add support for specifying unique item sizes for collection views used with UICollectionViewFlowLayout
. (#178, @ronaldsmartin)Re-add support for Swift 4.2.
This release closes the 0.5.0 milestone.
This release closes the 0.4.0 milestone.
Improve semantics of row height API (#154, @asmallteapot)
TableCellViewModel.rowHeight
optional, defaulting to nil
TableViewModel.defaultRowHeight
, defaulting to 44.0
Updates the initializers for TableSectionViewModel
and CollectionSectionViewModel
so that the diffingKey
argument is required. This prevents accidental misuse of the automatic diffing API, which was possible if you relied on the previous default parameter value. (#147, @ronaldsmartin)
This release closes the 0.3.0 milestone.
This release closes the 0.2.0 milestone.
TableSectionViewModel
and CollectionSectionViewModel
now implement Collection
(#135, @benasher44)
DifferenceKit is now used instead of Dwifft for faster diffing (#136, @benasher44)
This release closes the 0.1.4 milestone.
Don't store an empty model for the first non-nil differ. (#137, @benasher44)
This release closes the 0.1.3 milestone.
TableViewModel.subscript
and CollectionViewModel.subscript
methods that return an Optional
by adding the ifExists:
parameter name (separating them from future non-Optional
Collection
subscripts) (#131, @benasher44)This release closes the 0.1.2 milestone.
Removed TableSectionViewModel.collapsed
(#121, @jessesquires)
Removed undocumented initializers for CollectionSectionViewModel
(the ones that received headerHeight:
and/or footerHeight:
) (#123, @jessesquires)
CollectionViewDriver.automaticDiffingEnabled
is no longer public (#125, @jessesquires)
Fixed a crash in diffing when transitioning to or from empty/nil states (#125, @jessesquires)
Fixed incorrect calculation for TableViewModel.isEmpty
. It now correctly returns true only if all sections return true
for isEmpty
. (#123, @jessesquires)
Added CollectionSectionViewModel.isEmpty
property (#123, @jessesquires)
Added CollectionViewModel.isEmpty
property (#123, @jessesquires)
Section and cell view models are now diffable by default. (#119, @jessesquires)
Each provide default values for diffingKey
, but you can customize them for your own needs or opt-out of automatic diffing.
CollectionSectionViewModel
protocol now inherits from DiffableViewModel
protocolCollectionCellViewModel
protocol now inherits from DiffableViewModel
protocol TableSectionViewModel
protocol now inherits from DiffableViewModel
protocolTableCellViewModel
protocol now inherits from DiffableViewModel
protocolCollectionViewDriver.automaticDiffingEnabled
was reverted to be false
by default (#125, @jessesquires)
false
for CollectionViewDriver
.) This will be fixed in the next release. Tracking at #126.This release closes the 0.1.1 milestone.
TableViewDriver
animations when diffingIndexPath
to dequeue cellsTableViewDriver
. (#115, @wickwirew)ViewRegistrationInfo
properties reuseIdentifier
and registrationMethod
are now publicViewRegistrationInfo
now conforms to Equatable
SupplementaryViewInfo
now conforms to Equatable
SupplementaryViewKind
now conforms to Equatable
CellAccessibilityFormat
now conforms to Equatable
SupplementaryAccessibilityFormat
now conforms to Equatable