Releases: DenTelezhkin/DTTableViewManager
Releases · DenTelezhkin/DTTableViewManager
5.0.0-beta.2
Added
DTTableViewOptionalManageable
protocol, that is identical toDTTableViewManageable
, but allows optionaltableView
property instead of implicitly unwrapped one.- Enabled
RealmStorage
fromDTModelStorage
dependency
5.0.0-beta.1
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
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.
4.8.0
Changed
- Support for building in both Swift 2.2 and Swift 2.3
- Now all view registration methods use
NSBundle(forClass:)
constructor, instead of falling back onDTTableViewManager
viewBundle
property. This allows having cells from separate bundles or frameworks to be used with singleDTTableViewManager
instance.
Deprecations
viewBundle
property onDTTableViewManager
3.3.0 [Objective-C]
Changes
- Always use
NSBundle(forClass:)
instead ofNSBundle.mainBundle
, thus allowing usage of table view cells, headers in footers from different bundles and framework - thanks @belkevich!
4.7.0
Dependency changelog -> DTModelStorage 2.6.0 and higher
4.6.0
Dependency changelog -> DTModelStorage 2.5 and higher
Breaking
- Update to Swift 2.2. This release is not backwards compatible with Swift 2.1.
Changed
- Require Only-App-Extension-Safe API is set to YES in framework targets.
4.5.3
Fixed
- Fixed a bug, where prototype cell from storyboard could not be created after calling
registerCellClass(_:)
method.
4.5.0
Dependency changelog -> DTModelStorage 2.4 and higher
Added
- Support for Realm database storage - using
RealmStorage
class. - Ability to defer data binding until
tableView(_:willDisplayCell:forRowAtIndexPath:)
method is called. This can improve scrolling perfomance for table view cells.
manager.dataBindingBehaviour = .BeforeCellIsDisplayed
Changed
- UIReactions now properly unwrap data models, even for cases when model contains double optional value.
4.4.1
Fixed
- Issue with Swift 2.1.1 (XCode 7.2) where storage.delegate was not set during initialization
4.4.0
Dependency changelog -> DTModelStorage 2.3 and higher
This release aims to improve mapping system and error reporting.
Added
- New mapping system with support for protocols and subclasses
- Mappings can now be customized using
DTViewModelMappingCustomizable
protocol. - Custom error handler for
DTTableViewFactoryError
errors.
Changed
- preconditionFailures have been replaced with
DTTableViewFactoryError
ErrorType - Internal
TableViewReaction
class have been replaced byUIReaction
class from DTModelStorage.