The text for each cell in a UITableView is not being displayed, and I cannot for the life of me figure out why. I have 3 sections in the table view, and the sections are shown correctly, as is the number of rows for each section. However, the text inside each row for all the sections is empty. My code is:

- (void)viewDidLoad {
[super viewDidLoad];
listofsections = [[NSMutableArray alloc] init];
NSArray *shuffle = [NSArray arrayWithObjects:
@"Display words in alphabetical order", @"Display words in shuffled order", nil];
NSDictionary *shuffleDict = [NSDictionary dictionaryWithObject:shuffle forKey:@"Object Key"];
NSArray *wordFilter = [NSArray arrayWithObjects:
@"Show all words", @"Show words not yet appeared", @"Show words marked correct", @"Show words marked incorrect", @"Show words marked as favorite", @"Show words saved for later", nil];
NSDictionary *wordFilterDict = [NSDictionary dictionaryWithObject:wordFilter forKey:@"Object Key"];
NSArray *wordDisplay = [NSArray arrayWithObjects:
@"Display words first", @"Display definition first", nil];
NSDictionary *wordDisplayDict = [NSDictionary dictionaryWithObject:wordDisplay forKey:@"Object Key"];
[listofsections addObject:shuffleDict];
[listofsections addObject:wordFilterDict];
[listofsections addObject:wordDisplayDict];
// Do any additional setup after loading the view from its nib.
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [listofsections count];
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
//Number of rows it should expect should be based on the section
NSDictionary *dictionary = [listofsections objectAtIndex:section];
NSArray *array = [dictionary objectForKey:@"Object Key"];
return [array count];
}
- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath {
//return UITableViewCellAccessoryDetailDisclosureButton;
return UITableViewCellAccessoryNone;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if(section == 0) {
return @"Word Display Order";
}
if (section == 1) {
return @"Word Filter";
}
else
return @"Display Selection";
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
//First get the dictionary object
NSDictionary *dictionary = [listofsections objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"Countries"];
NSString *cellValue = [array objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
The dictionaries you have created dont have the key @”Countries” wich you have used in
– (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath