dzenbot / DZNEmptyDataSet

A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display
https://www.cocoacontrols.com/controls/dznemptydataset
MIT License
12.09k stars 1.73k forks source link

problem at ((void(*)(id,SEL))impPointer)(self,_cmd); #196

Open yeradis opened 8 years ago

yeradis commented 8 years ago

Even with the latest version of the library the app keeps failing a ((void(*)(id,SEL))impPointer)(self,_cmd);

The error in my case:

NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (3) must be equal to the number of rows contained in that section before the update (2), plus or minus the number of rows inserted or deleted from that section (1 inserted, 1 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'

This only happens some times, not always, there is info at the table, and when happens, some times another view is on top of the tableview, sometimes happens in the same tableview

gapl commented 8 years ago

I am having the exact same issue. It happens very randomly but to a quite significant amount of users. Is there any progress being made here?

dzenbot commented 8 years ago

Not really. I've seen it on other apps as well, but inconsistently and haven't figured out repro steps. Help is very welcome.

gapl commented 8 years ago

This is becoming an increasing issue for us, we've gotten 4500 crashes in the last week alone. Here https://github.com/dzenbot/DZNEmptyDataSet/issues/127 @UberJason lists out semi reproducable steps, which might prove to be helpful.

Perhaps @bryce-newrelic can have a look, as the swizzling method used here is based on his blog post https://blog.newrelic.com/2014/04/16/right-way-to-swizzle/.

bryce-buchanan commented 8 years ago

This doesn't look like the swizzling itself is causing the crash. I think @MickyHub (from https://github.com/dzenbot/DZNEmptyDataSet/issues/127) is on the right track. I'm guessing something in - (void) dzn_reloadEmptyDataSet is causing contention with the row animation, i.e.: it is changing the state of the view while it's attempting to animate it.