[崩溃日志]Simultaneous accesses to 0x28261ebd0, but

今天遇到原本没问题的项目在播放音频后报错:

Simultaneous accesses to 0x28261ebd0, but modification requires exclusive access. Previous access (a

屏幕快照 2019-06-21 上午10.42.03.png

原因是结构体需要同时进行读写操作导致线程不安全

代码如下:

sound.requestSound(success: { (url) in
     self.startPlayRecord(path: url)
     sound.isPlaying = true          // 1
     tempChat.type = .sound(sound)   // 2
}, failure: {
      ChatManager.shared.chats[index] = tempChat
})

修改后

var mySound = sound
var myTempChat = tempChat
sound.requestSound(success: { (url) in
       self.startPlayRecord(path: url)
       mySound.isPlaying = true          // 1
       myTempChat.type = .sound(mySound)   // 2
 }, failure: {
        ChatManager.shared.chats[index] = myTempChat
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容