1

我刚刚完成了一个项目,我在 Storyboard 中为我的 TableView 使用了一个自定义单元格。

问题是当我向下滚动时,每个单元格中的内容都消失了,在我的例子中是两个标签。

这是我用来呈现每个单元格的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"CustomCell";
    MessageCell *cell = (MessageCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[MessageCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    Message *messageForRow = (Message *)[messages objectAtIndex:[indexPath row]];
    [cell.messageLabel setText:[messageForRow message]];
    [cell.senderLabel setText:[messageForRow sender]];

    return cell;
}

我在情节提要中指定了正确的单元格标识符,并将该类链接到我的自定义单元格类。

有什么问题?如果我错过了任何需要的信息,请告诉我。

最好的敬意罗伯特

4

2 回答 2

1

您能否通过记录来检查滚动时是否调用了此方法?

于 2013-03-30T10:57:57.853 回答
1

我自己解决了,问题不在于更新方法。错误地,我对 Message 类中的属性使用了弱签名。

@property (nonatomic, weak) NSString *sender;

我通过使用强签名解决了这个问题。

@property (nonatomic, strong) NSString *sender;

This was a great lesson because I didn't fully understand the concept of strong and weak.

于 2013-04-02T10:58:55.380 回答