美文网首页
用百度地图出现EXC_BAD_ACCESS,百度地图所在的Vie

用百度地图出现EXC_BAD_ACCESS,百度地图所在的Vie

作者: 柯索 | 来源:发表于2017-09-12 16:41 被阅读38次

    今天,写项目发现百度地图一个EXC_BAD_ACCESS,字面意思就是异常_坏的_进入,大概意思就是你向一个已经释放的对象发送消息。so,怎么产生的呢,我发现总是mapView抛出的,这个mapView总在dealloc中滞空的啊。然后在不断地断点调试下,发现,发现一执行一个方法后,它就不走dealloc方法。我在一个A类里面调用了Map相关的B类,也调用了C类。关键就在这个C类,他里面有一个block,而我傻逼天真只写Type(self) weakSelf = self,而没有加__weak,导致Block引用A类无法释放,B类跟着也无法释放,B类的dealoc无法执行。

    关于不走dealoclde原因,google一下,一下链接作为学习(地址),

    大概总结下有以下三种,

    1,A类里面调用了timer,target增加了A类的retain count,解决方法将这个timer invalidate.

    2,viewCtroller里面的代理,本该是weak的delegate,写成了retain或者strong

    3,viewCtroller里面的block.如上所述。

    相关文章

      网友评论

          本文标题:用百度地图出现EXC_BAD_ACCESS,百度地图所在的Vie

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