DTTableViewManager v5.0.0-beta.1 Release Notes
-
📚 This is a major release, written in Swift 3. Read [Migration guide](Documentation/Migration%20guides/5.0%20Migration%20Guide.md) with descriptions of all features and changes.
🚀 Dependency changelog -> DTModelStorage 3.0.0 and higher
➕ Added
- 🆕 New events system that covers almost all available
UITableViewDelegate
andUITableViewDataSource
delegate methods. - 🆕 New class -
TableViewUpdater
, that is calling all animation methods forUITableView
when required by underlying storage. - ⚡️
updateCellClosure
method onDTTableViewManager
, that manually updates visible cell instead of callingtableView.reloadRowsAt(_:)
method. - ⚡️
coreDataUpdater
property onDTTableViewManager
, that createsTableViewUpdater
object, that follows Apple's guide for updatingUITableView
fromNSFetchedResultsControllerDelegate
events. isManagingTableView
property onDTTableViewManager
unregisterCellClass(_:)
,unregisterHeaderClass(_:)
,unregisterFooterClass(_:)
methods to unregister mappings fromDTTableViewManager
andUITableView
🔄 Changed
- Event system is migrated to new
EventReaction
class fromDTModelStorage
- Swift 3 API Design guidelines have been applied to all public API.
- ⚡️ Section and row animations are now set on
TableViewUpdater
class instead ofTableViewConfiguration
Removals
- 🚚
itemForVisibleCell
,itemForCellClass:atIndexPath:
,itemForHeaderClass:atSectionIndex:
,itemForFooterClass:atSectionIndex:
were removed - they were not particularly useful and can be replaced with much shorter Swift conditional typecasts. registerCellClass:whenSelected
method- All events methods with method pointer semantics. Please use block based methods instead.
dataBindingBehaviour
property.viewBundle
property onDTTableViewManager
. Bundle is not determined automatically based on view class.- ⚡️
DTTableViewContentUpdatable
protocol. UseTableViewUpdater
properties instead.
- 🆕 New events system that covers almost all available