美文网首页
2018-03-14 野指针Bug解决(给已释放的对象发消息)

2018-03-14 野指针Bug解决(给已释放的对象发消息)

作者: Aacmr | 来源:发表于2018-03-14 11:54 被阅读0次

    写的自己看的,有不对的,请大神们指出来。

    [****ViewController scrollViewDidScroll:]: message sent to deallocated instance 0x12d6c22f0     野指针Bug解决(给已释放的对象发消息)  

    直接在本界面释放,

    OC调用dealloc方法, 如下 

    - (void)dealloc {  

    _topScrollView.delegate = nil;     或者   self.tableView.delegate = nil

    }  

    Swift 方法如下:

    deinit {

            self.mainTableView.delegate = nil

        }

    因为项目需要一个导航栏透明过渡效果,因此写了一个方法,过了好多天才发现这个bug,当滑动页面,导航栏处于半透明状态,这时点击返回(pop回上一页面),程序崩溃,报了这么个信息,Google后说是向因为一个UIViewController释放后,又再次向这个VC调用了某些请求导致。当VC释放后,这个xx还没有被释放,所以xx的回调方法还在调用delegate即这里的vc, 所以崩溃就发生了。 

    解决方法:在dealloc方法中给代理赋值nil 

    http://blog.csdn.net/zh198964/article/details/47086073

    相关文章

      网友评论

          本文标题:2018-03-14 野指针Bug解决(给已释放的对象发消息)

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