开发此聊天界面时,参考了第三方库TLChat来进行开发。
此问题应该只是个例,是自己代码造成的原因,归咎原因,个人猜测应该是对象的内存地址和指针的内存地址问题。
[[MSCVoiceManager sharedInstance] startSpeechWithCallback:^(NSString *resultStr) {
NSString *voiceStr = [NSString stringWithFormat:@"%@",resultStr];
TextMessage *message = [[TextMessage alloc] init];
if ([self.waitType isEqualToString:@"1"])
{
[self refreshWaitNum];
message.text = voiceStr;
[self sendMessage:message];
return;
}
}
在此讯飞语音回调方法中,如果直接将获得到的resultStr直接赋值给message.text,并调用[self sendMessage:message]方法将此条数据添加到可变数组中,由于为了解决遇到的另一个问题,我在可变数组中运用了mutableCopy这个方法,具体可看另一篇文章
iOS NSMutableArray使用addObject:方法时数据被覆盖
导致直接发送此数据,最后在cell中展示的文字为空,搜索资料得知,可能是个人猜测应该是对象的内存地址和指针的内存地址问题,重新创建了一个字符串NSString *voiceStr = [NSString stringWithFormat:@"%@",resultStr]来存储,并将此字符串赋值之后,问题解决,但也只是了解了表象,若有大神深刻理解此方面知识,求解惑。
其余在此项目中遇到问题:
Xcode9.2运行iOS11系统时,下方键盘弹出导致statusBar颜色变化