Skip to content

5.0.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@DenTelezhkin DenTelezhkin released this 17 Sep 09:41
· 322 commits to main since this release

This is a major release, written in Swift 3. Read [Migration guide](Documentation/DTTableViewManager 5.0 migration guide.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 and UITableViewDataSource delegate methods.
  • New class - TableViewUpdater, that is calling all animation methods for UITableView when required by underlying storage.
  • updateCellClosure method on DTTableViewManager, that manually updates visible cell instead of calling tableView.reloadRowsAt(_:) method.
  • coreDataUpdater property on DTTableViewManager, that creates TableViewUpdater object, that follows Apple's guide for updating UITableView from NSFetchedResultsControllerDelegate events.
  • isManagingTableView property on DTTableViewManager
  • unregisterCellClass(_:), unregisterHeaderClass(_:), unregisterFooterClass(_:) methods to unregister mappings from DTTableViewManager and UITableView

Changed

  • Event system is migrated to new EventReaction class from DTModelStorage
  • Swift 3 API Design guidelines have been applied to all public API.
  • Section and row animations are now set on TableViewUpdater class instead of TableViewConfiguration

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 on DTTableViewManager. Bundle is not determined automatically based on view class.
  • DTTableViewContentUpdatable protocol. Use TableViewUpdater properties instead.