[UITransitionView isDescendantOfView:]: message sent to deallocated instance 0x17ba3360 报错原因追溯

今天遇到一个非常头痛的报错、在dismiss一个present出来的VC的时候系统crash了,而且只有iOS7才会crash。又是头痛的版本兼容bug、其实自己之前遇到过这个bug可是当时没有记录下来所有今天才花费了很长时间、这次一定记录下来。

其实系统crash时停留以及打印出来的log没有太大的参考意义、这次我们是通过git版本追溯才确定了最终的代码改动点,根本原因是我们的业务代码在present之前的ViewWillDisappear里面设置了导航栏的显示、而且设置导航栏是有隐式动画的、此时present的动画也在继续所以iOS7上面的动画冲突导致crash了……(不知道是不是iOS7系统的bug)

解决方案

使用performSelector方法将设置导航栏的方法放到下一个runloop上、万能的runloop又发挥了重要作用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容