注册

送消息后 那个actity一直在打转,是怎么回事? IChatManagerDelegate回调中messageId不匹配!

在demo中,下面这两个位置同样一条MessageModel的messageId发生了改变,而且我查不出来是在什么时候变化的。但是我项目中的这两个地方messageId并未发生变化,导致id不匹配,无法执行model.message.deliveryState = message.deliveryState;请教原因!
-(void)didSendMessage:(EMMessage *)message error:(EMError *)error
{
[self.dataSource enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
{
if ([obj isKindOfClass:[MessageModel class]])
{
MessageModel *model = (MessageModel*)obj;
if ([model.messageId isEqualToString:message.messageId])
{
model.message.deliveryState = message.deliveryState;
*stop = YES;
}
}
}];
[self.tableView reloadData];
}

-(void)addMessage:(EMMessage *)message
{
[_messages addObject:message];
__weak ChatViewController *weakSelf = self;
dispatch_async(_messageQueue, ^{
NSArray *messages = [weakSelf formatMessage:message];

dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf.dataSource addObjectsFromArray:messages];
[weakSelf.tableView reloadData];
[weakSelf.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[weakSelf.dataSource count] - 1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
});
});
}
已邀请:

lifei9241

赞同来自:

MessageModel.m按demo改一下。

要回复问题请先登录注册