jimbob
jimbob

Reputation: 3298

Core Data Cells not updating correctly

I have a problem with data being displayed in a UITableViewCell I have created.

I have a CoreData Model which I have a custom Cell which I am loading from a Xib. The layout loads correctly and the correct number of cells are generated. The problem comes when updating the button.titleLabel.text and description.

Here is my uitableview and uitableviewcell related code:

#pragma mark - UITableViewDatasource Methods.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [pointsHistoryItems count];
}

// Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with dequeueReusableCellWithIdentifier:
// Cell gets various attributes set automatically based on table (separators) and data source (accessory views, editing controls)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%d",indexPath.row];
    PointsHistoryItemCell* cell = (PointsHistoryItemCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    return [self createCustomCell:cell cellForRowAtIndexPath:indexPath];
}

- (PointsHistoryItemCell *)createCustomCell:(PointsHistoryItemCell *)cell cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (cell == nil)
    {
        cell = (PointsHistoryItemCell *)[[[NSBundle mainBundle] loadNibNamed:@"PointsHistoryItemCell" owner:self options:nil] objectAtIndex:0];
    }

    AwesomePointsHistoryItem *aphi = (AwesomePointsHistoryItem *)[pointsHistoryItems objectAtIndex:indexPath.row];

    cell.description.text = aphi.description;

    NSString* pointsText = [NSString stringWithFormat:@"%@ Points", [aphi.points stringValue]];
    [cell.button.titleLabel setText:pointsText];


    NSLog(@"is reaching createCustomCell");
    NSLog(@"points %@", cell.button.titleLabel.text);

    return cell;
}

the log prints:

is reaching createCustomCell 
points 600 Points

However.. The cell.button.titleLabel.text does not update!

What am I doing wrong?

Upvotes: 0

Views: 48

Answers (1)

Akhilrajtr
Akhilrajtr

Reputation: 5182

Use

[cell.button setTitle: pointsText forState: UIControlStateNormal];

instead of

[cell.button.titleLabel setText:pointsText];

Note : hope cell.button is a UIButton

Upvotes: 3

Related Questions