1

I have a UITableView which is populated with an NSArray. The array is sorted alphabetically in my table with alphabetized headers.

I am adding a custom cell randomly in my table at every 10th row.

The issue I have is that the custom cell is layering over actually data, so it's not being inserting within the array.

How can I solve this?

Here's what I am doing to insert the custom cell:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    if (indexPath.row % 10 == 10-1) {
        CustomAdCell *cell = (CustomAdCell *)[tableView dequeueReusableCellWithIdentifier:@"AdCell"];
        if (cell == nil)
        {
            NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomAdCell" owner:self options:nil];
            cell = [nib objectAtIndex:0];
        }
        return cell;
    }
    else {

        static NSString *cellIdentifier = @"cellIdentifier";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

        // Configure the cell...
        if (!cell) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
            cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        }

        NSString *key = [[[self indexedMembers] allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)][indexPath.section];

        self.indexedMembersArray = ((NSMutableArray *)[self indexedMembers][key]);

        MemberInfo *currentMember = self.indexedMembersArray[indexPath.row];

        cell.textLabel.text = [NSString stringWithFormat:@"%@ %@", currentMember.firstName, currentMember.lastName];

        return cell;
}
Luke Irvin
  • 1,179
  • 1
  • 20
  • 39

0 Answers0