美文网首页
*** Assertion failure in -[UICol

*** Assertion failure in -[UICol

作者: 641305d5cd60 | 来源:发表于2016-07-22 16:11 被阅读1162次

    这个错误有多种可能,包括在google查询的使用cell未注册或者其他的可能,但是我们项目里面的一种可能应该算是一种比较典型的情况。

    在开发暴走大事件App的时候报这个错误非常奇怪,调试几个小时也没有发现原因,最后测试发现一个现象就是进去PlayerViewController会触发同一个接口的多次请求,原来是PlayerViewController里面的遗留代码有问题,包括循环引用,代理设置成Strong,导致了PlayerViewController的Dealloc没有调用,也就是循环引用导致PlayerViewController没有释放,所以每次进去到PlayerViewController会再注册一次通知,从而后面进去PlayerViewController里面的时候注册了多次通知,每次通知回调都是调用获取视频选集信息的接口,每次接口返回都会刷新显示视频选集的CollectionView,通知多次刷新CollectionView而且数据源都不一样就导致了这个错误。一种临时解决方法可以试试注册通知前先Remove通知,或者不用通知解决问题,从根本上解决问题当然还是要通过去除循环应用的问题,包括检查Block里面是否用了weak,delegate的属性设置是否正确,Dealloc是否注销了通知,以及其他循环应用的问题。 

    相关文章

      网友评论

          本文标题:*** Assertion failure in -[UICol

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