Calling -removeAllSections doesn't seem to actually remove the sections from the tableview itself, and so adding sections or touching the tableview causes the app to crash from a really nasty exception.
My current work around is to call [self.tableview reloadData] immediately after removing all sections. I'm not sure if this is the best possible solution but it seems to work for me.
Good catch, that method name could be much better. This is how I work with it in my JMStaticContentTableViewController subclasses. But it probably should call reloadData internally.