Closed jeffbailey closed 7 years ago
@jeffbailey doing some cleanup, if you're still interested in tackling this, that'd be awesome! As far as guidance goes, my bet is that we:
-didUpdateToObject:
What do you think?
I'll take a look!
@rnystrom You're guidance on the fix was spot on. I submitted a pull request. The main thing to review is how I updated the unit tests to trigger the reloadData method before performing some of the tests. I called perform batch updates. Let me know if there's a better way!
done in 8d74b8f778d7104df7e3cf0dd513ceae1a69d880
New issue checklist
README
and documentationGeneral information
IGListKit
version:IGListStackedSectionController is incredibly useful for decomposing section controllers, but I'm running into an issue that appears to be a bug when one of the child section controllers has a variable number of cells, based on the object injected into it.
A child section controller's
func numberOfItems() -> Int
method is getting called beforefunc didUpdate(to object: Any)
That results in the section controller having to know how many items it contains BEFORE it has its data.I tracked the issue down to the stacked section controller constructor calling it's reloadData method:
The
reloadData
method is asking its children for the number of items, but the children don't have their data injected yet.I can easily workaround the issue by explicitly setting the data (i.e. view model in my case) on the child section controller when I build up stacked section controller, but that seems like a hack unless I'm missing something.
Let me know what you think. If you agree its a bug, I'd be happy to create a unit test and fix the issue, but I probably need a little guidance as to the appropriate fix.