iOS聊天界面调用讯飞语音转换为文字,文字在cell上不显示

2017-12-21  本文已影响0人  _相信未来_

开发此聊天界面时,参考了第三方库TLChat来进行开发。

此问题应该只是个例,是自己代码造成的原因,归咎原因,个人猜测应该是对象的内存地址和指针的内存地址问题。

[[ZYMSCVoiceManager sharedInstance] startSpeechWithCallback:^(NSString *resultStr) {
        NSString *voiceStr = [NSString stringWithFormat:@"%@",resultStr];
      
         ZYTextMessage *message = [[ZYTextMessage 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颜色变化

iOS聊天界面后台数据发送过快,导致展示cell的frame没有重新计算

iOS向后台发送图片,图片被翻转以及图片过大,发送缓慢问题的解决

上一篇 下一篇

猜你喜欢

热点阅读