排查循环保留的方法有多种。例如用关联对象去监听,或查看相应对象等等。
有种在block中的循环保留,是因为self引用了block,block引用了self。解决方法可以在block外定义一个弱引用变量,在block内使用。若self可能会被释放,为了在block中引用self,需要在block中定义一个对self的弱引用的强引用,保证self不释放,同时block结束,强引用释放掉,无循环保留问题。
借这个小问题冒个泡,希望继续不断总结、提高、博大精深。
排查循环保留的方法有多种。例如用关联对象去监听,或查看相应对象等等。
有种在block中的循环保留,是因为self引用了block,block引用了self。解决方法可以在block外定义一个弱引用变量,在block内使用。若self可能会被释放,为了在block中引用self,需要在block中定义一个对self的弱引用的强引用,保证self不释放,同时block结束,强引用释放掉,无循环保留问题。
借这个小问题冒个泡,希望继续不断总结、提高、博大精深。