1、在程序内使用定时器,会引起当前的对象应用计数加1,无法到达dealloc来释放。
解决方法是,在viewWillDisappear中暂停以及失效所有定时器。
2、在block块中,使用self.或者对象的成员变量,会导致self的引用计数被加1,引起循环引用,导致无法释放当前的self。
第一个就是一眼看见的self,block中直接使用self是不对的。
第二个是使用了成员变量,即使不加self.,也会导致self引用计数被加1.
所以,解决方法是__block变量来代替
1、在程序内使用定时器,会引起当前的对象应用计数加1,无法到达dealloc来释放。
解决方法是,在viewWillDisappear中暂停以及失效所有定时器。
2、在block块中,使用self.或者对象的成员变量,会导致self的引用计数被加1,引起循环引用,导致无法释放当前的self。
第一个就是一眼看见的self,block中直接使用self是不对的。
第二个是使用了成员变量,即使不加self.,也会导致self引用计数被加1.
所以,解决方法是__block变量来代替