I have two tableView sections, sometimes the first section dosen’t have any data in it so the second one now comes the first.
In my numberOfSectionsInTableView method I’m counting my first array:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if (appDelegate.firstArray.count == 0) {
numberOfSections = 1;
} else {
numberOfSections = 2;
}
return self.numberOfSections;
numberOfSections its an int into my header file.
and here’s how I configure my text for cells
switch (indexPath.section) {
case 0:
{
MyClass *inFirstArray = [appDelegate.firstArray objectAtIndex:indexPath.row];
cell.detailTextLabel.text = inFirstArray.title;
break;
}
case 1:
{
Event *inSecondArray = [appDelegate.secondArray objectAtIndex:indexPath.row];
cell.detailTextLabel.text = inSecondArray.title;
break;
default:
break;
}
}
The problem is that if my firstArray count equals to 0, I don’t have any text into my secondArray…
UPDATE
Also have this methods
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
//I'm realeasing it into dealloc
sectionTitles = [[NSMutableArray alloc] init];
[sectionTitles addObject:@"first ArrayTitle"];
[sectionTitles addObject:@"second ArrayTitle"];
NSString *sectionText = [sectionTitles objectAtIndex:section];
return sectionText;
}
and
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
//Adding a custom background image for table section header
NSString *title = [times objectAtIndex:section];
UIView *customView = [ [ [UIView alloc] initWithFrame: CGRectMake(0.0, -5.0, 320.0, 25.0) ] autorelease ];
[customView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"tableBackground.png"]]];
UIButton *button = [ [ [ UIButton alloc ] initWithFrame: CGRectMake(-9.0, 5.0, 320, 27.0) ] autorelease ];
button.tag = section;
[button setImage:[UIImage imageNamed:@"header_section_background.png" ] forState: UIControlStateNormal ];
button.highlighted = NO;
button.adjustsImageWhenHighlighted = NO;
UILabel *label = [ [ UILabel alloc ] initWithFrame:CGRectMake(15.0, 5.0, 45, 22.0) ];
label.alpha = 1.0;
label.backgroundColor = [UIColor clearColor];
label.text = title;
label.textAlignment = UITextAlignmentRight;
[customView addSubview: button ];
[customView addSubview:label ];
[customView sendSubviewToBack:button];
return customView;
}
Always return 2 for your
numberOfSections. For yournumberOfRowsInSection, do the following:So your two sections will always exist, but will have zero rows if there is no data for them.