static NSString *timeStr = @"MessageCellTime";
if (indexPath.row < [self.dataSource count]) {
id obj = [self.dataSource objectAtIndex:indexPath.row];
if ([obj isKindOfClass:[NSString class]]) {
EMChatTimeCell *timeCell = (EMChatTimeCell*)[tableView dequeueReusableCellWithIdentifier:timeStr];
if (timeCell == nil) {
timeCell = [[EMChatTimeCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:timeStr];
timeCell.backgroundColor = [UIColor clearColor];
timeCell.selectionStyle = UITableViewCellSelectionStyleNone;
}
dispatch_async(dispatch_get_main_queue(), ^{
timeCell.textLabel.text = (NSString*)obj;
});
//timeCell.textLabel.text = (NSString*)obj;
return timeCell;
}
else
{
MessageModel *model = (MessageModel*)obj;
NSString *cellIndentifier = [EMChatViewCell cellIdentifierForMessageModel:model];
EMChatViewCell *cell = (EMChatViewCell*)[tableView dequeueReusableCellWithIdentifier:cellIndentifier];
if (cell == nil) {
cell = [[EMChatViewCell alloc]initWithMessageModel:model reuseIdentifier:cellIndentifier];
cell.backgroundColor = [UIColor clearColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
return cell;
ARC разрешен. Их ViewController является callallall, поскольку я pop back, но мой customCell, такой как EMChatTimecell и EMChatViewCell, не назвал его dealloc, спасибо мне помочь.Почему мой пользовательский UITableviewCell не может назвать dealloc?
Спасибо вам. Я знаю, что моя ячейка не деллалос, возможно, причина, о которой вы говорили. Но я просто не могу найти, где это произойдет. –
Можете ли вы опубликовать код, в котором вы указали делегат и источник данных? Или какой-нибудь другой код, который может быть полезен. Другими случаями могут быть случаи, когда вы захватываете себя в блоке. Поместите некоторый код для более точного ответа. – jarora
Из-за кода много, я меняю страницу, пожалуйста, нажмите здесь. Спасибо. –