某个 UIView的dealloc方法不执行
一,可能情况:
1> timer 没有清楚
2> 循环引用
3> block引用了实例变量。
二,查找到结果竟是
1> 没有使用 property 创建的属性,默认是强引用,会造成循环引用.
2> 错误代码:
@interface PraiseFlyView () { UIView *_showView; NSTimer *_burstTimer; CGFloat _timeInterval; } @end @implementation PraiseFlyView - (void)animateInView:(UIView *)view { _showView = view; [self appendTimer]; } @end
调用处如下:
[_praiseButton animateInView:self];
导致循环引用.