The entries in a dictionary are not ordered. What you can do is create an array of all the section titles and sort that alphabetically:
NSDictionary *dict = ...; // your dictionary
NSArray *sectionTitles = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)];
Then the number of sections is
[sectionTitles count]
For a given section number, the title and number of rows can be computed as
NSString *title = sectionTitles[section];
NSUInteger numRows = [dict[sectionTitles[section]] count];
Finally, for a given index path, the corresponding item is
NSString *item = dict[sectionTitles[indexPath.section]][indexPath.row];