DTTableViewManager v6.1.0-beta.1 Release Notes

Release Date: 2017-12-04 // over 6 years ago
    • ⚡️ Implemented new system for deferring datasource updates until performBatchUpdates block. This system is intended to fight crash, that might happen when performBatchUpdates method is called after UITableView.reloadData method(for example after calling memoryStorage.setItems, and then immediately memoryStorage.addItems). This issue is detailed in DenTelezhkin/DTCollectionViewManager#27 and DenTelezhkin/DTCollectionViewManager#23. This crash can also happen, if iOS 11 API UITableView.performBatchUpdates is used. This system is turned on by default. If, for some reason, you want to disable it and have old behavior, call:

      manager.memoryStorage.defersDatasourceUpdates = false

    • ⚡️ TableViewUpdater now uses iOS 11 performBatchUpdates API, if this API is available. This API will work properly on MemoryStorage only if defersDatasourceUpdates is set to true - which is default. However, if for some reason you need to use legacy methods beginUpdates, endUpdates, you can enable them like so:

      manager.tableViewUpdater?.usesLegacyTableViewUpdateMethods = true

    0️⃣ Please note, though, that new default behavior is recommended, because it is more stable and works the same on both UITableView and UICollectionView.

    • ⚡️ tableViewUpdater property on DTTableViewManager is now of TableViewUpdater type instead of opaque StorageUpdating type. This should ease use of this object and prevent type unneccessary type casts.