There are some section in the table that does not contain any data and would like to hide that section.
How to do this?
Actually, you can "hide" a section. If you want to use a similar behaviour to the built-in contacts app, where sections are hidden but still listed in the index on the right you can do the following:
Implement the UITableViewDataSource protocol:
Return all section names (even hidden ones) in - the sectionIndexTitlesForTableView method.
For each empty section, return nil from the titleForHeaderInSection method.
For each empty section return 0 for the numberOfRowsInSection method.
I find this works better than deleting sections, because the user has consistent index navigation.