美文网首页
iOS NSMutableArray使用addObject:方法

iOS NSMutableArray使用addObject:方法

作者: _相信未来_ | 来源:发表于2017-12-20 16:43 被阅读0次

    在做智能客服模块功能时,开发参考了TLChat这个第三方库,

    在与客服后台交互时发现,使用

    [self.data addObject:message]

    向NSMutableArray添加聊天回复的数据时,

    发现如果客服后台回复非常快的时候,NSMutableArray中前一个数据会被后一个数据所覆盖。

    最终使用深拷贝解决了这个问题。将此方法修改为

    [self.data addObject:[message mutableCopy]];

    对于集合对象

    对于不可变的集合对象,copy 是浅拷贝,mutableCopy 是单层深拷贝。

    对于可变的集合对象,无论 copy 或者 mutableCopy 都是单层深拷贝。

    值得注意的是

    copy需要实现NSCopying协议,然后实现以下方法,否则copy会crash

    mutableCopy时,需要实现NSMutableCopying协议,否则mutableCopy会crash

    其余在此项目中遇到问题:

    Xcode9.2运行iOS11系统时,下方键盘弹出导致statusBar颜色变化

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

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

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

    相关文章

      网友评论

          本文标题:iOS NSMutableArray使用addObject:方法

          本文链接:https://www.haomeiwen.com/subject/znigwxtx.html