向下滚动时,iPhone Storyboard自定义单元消失

我刚刚完成了一个项目,在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; } 

我已经在故事板中指定了正确的cellidentifier,并将Class链接到我的自定义单元类。

什么可能是错的? 如果有任何我想错过的信息,请告诉我。

最好的罗伯特

你可以通过日志logging来检查这个方法在滚动时被调用吗?

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

 @property (nonatomic, weak) NSString *sender; 

我通过使用强签名来解决它。

 @property (nonatomic, strong) NSString *sender; 

这是一个很好的教训,因为我没有完全理解强弱的概念。