Huy Nguyen
54cde1a3db
Introduce ASIndexedNodeContext
...
- It is a container object that holds enough information to construct and measure a cell node
- All information is gathered on main thread. This allows ASDataController to capture the correct state of its data source before going to background.
2016-02-29 01:00:16 -08:00
appleguy
b75d6627bb
Revert "Revert "Revert "[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods."""
2016-02-19 23:26:29 -08:00
Scott Goodson
a1061301e0
[ASDataController] Revert the reloadData optimizations again - need to fix apps relying on prior behavior.
...
The optimization seems correct now, but apps like Pinterest have some core code relying on edit operation
order that is actually not permitted by UIKit (and this diff) but were tolerated previously. We will
re-land this once we have time to adapt the code.
2016-02-19 21:31:39 -08:00
appleguy
32aa333c21
Revert "[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods."
2016-02-18 19:50:06 -08:00
Luke Zhao
40791dd859
optimize reload data, reload sections, & move nodes performance & logic
2016-02-18 14:44:16 -08:00
Rahul Malik
3e5daf4ccd
Update data source protocols to make synchronous node creation api methods optional.
2016-02-09 22:47:43 -08:00
Rahul Malik
c4f489b074
Address comments.
2016-02-04 16:56:29 -08:00
Rahul Malik
521c3fa1c1
Move ASCellNode allocation off the main thread by the addition of a node block
...
API in ASDataController. Move allocations and loaded node layouts to occur
during batch layout phase.
2016-02-04 10:38:59 -08:00
Scott Goodson
83aaa4637e
Revert "ASDataController now handles reloadData more efficiently and notify its delegate once instead of a series of deletes and inserts"
...
This reverts commit 2e4d716e0b65465d9c65b5821668c38e5fa956c9.
Possible issue with this commit.
2016-01-22 20:33:33 -08:00
Huy Nguyen
2e4d716e0b
ASDataController now handles reloadData more efficiently and notify its delegate once instead of a series of deletes and inserts
2016-01-21 11:21:21 -08:00
Scott Goodson
690f90a899
Supplementary nodes must be added to the completed nodes after their measurement completes following individual section reloads.
2015-12-27 15:34:26 -08:00
Levi McCallum
223cac1784
Inline supplementary kind iteration in data controller
2015-12-06 21:31:40 -08:00
Levi McCallum
64da9e7ece
Ensure that new section supplementary nodes are inserted into backing store
2015-12-06 20:07:29 -08:00
Levi McCallum
5ca14486b6
Make array instantiation consistent
2015-10-21 23:17:37 -07:00
Levi McCallum
9a37538582
Clean up and test registration of internal supplementary node kinds
2015-10-15 11:40:53 -07:00
Levi McCallum
12194199cd
Clean up layout delegate protocol API
2015-10-15 11:40:53 -07:00
Levi McCallum
ee0cc2001a
Add support for loaded node layout for supplementary views
2015-10-15 11:40:52 -07:00
Levi McCallum
952a66a924
Remove initial data loading subclass hook
2015-10-15 11:40:52 -07:00
Levi McCallum
fddb0061b0
Use ASCellNodes for supplementary nodes
2015-10-15 11:40:52 -07:00
Levi McCallum
848dc26a0d
Fix hook method naming
2015-10-15 11:40:52 -07:00
Levi McCallum
3f0092435a
Add support to move supplementary nodes with section position changes
2015-10-15 11:40:51 -07:00
Levi McCallum
9235ce5ac2
Support reloading supplementary nodes when sections reload
2015-10-15 11:40:51 -07:00
Levi McCallum
d77df45bfd
Delete supplementary nodes when section is deleted
2015-10-15 11:40:51 -07:00
Levi McCallum
e1ea2d2151
Handle supplementary node generation during insertion of new section
2015-10-15 11:40:51 -07:00
Levi McCallum
2cc55513a4
Nil out pending store kinds after processing
2015-10-15 11:40:51 -07:00
Levi McCallum
d36c8a36c6
Introduce ability to populate internal supplementary nodes at specific sections
2015-10-15 11:40:51 -07:00
Levi McCallum
f9bba315df
Stub out subclass hooks for section insert/remove/update/moving
2015-10-15 11:40:51 -07:00
Levi McCallum
b58649fdcb
Clean up supplementary nodes in data controller store on each reload
2015-10-15 11:40:51 -07:00
Levi McCallum
34f3065825
Use local method for introspecting data controller constrained sizes
2015-10-15 11:40:50 -07:00
Levi McCallum
1c2046cdf4
Localize debugging LOG definition
2015-10-15 11:40:50 -07:00
Levi McCallum
e4f274aebb
Expose completed nodes array by kind
2015-10-15 11:40:50 -07:00
Levi McCallum
aa1842e484
Remove non-null definitions
2015-10-15 11:40:50 -07:00
Levi McCallum
afda471bd0
Clean up interfacing with internal editing/completed stores
2015-10-15 11:40:50 -07:00
Levi McCallum
835f9e99ca
Batch render supplementary views on reload data
2015-10-15 11:40:49 -07:00
Levi McCallum
5dee3f62cc
Extract number of supplementary sections into the inspector
2015-10-15 11:40:49 -07:00
Levi McCallum
da7a2a5d48
Further implement data controller support and layout introspection
2015-10-15 11:40:49 -07:00
Levi McCallum
658b78d552
Use objective-c++ for subclass
2015-10-15 11:40:49 -07:00