1.在项目中遇到过开启NSTimer事件后 控制器不销毁 不走dealloc 方法,以至于 不能销毁掉定时器,那我遇到这种情况,我会在viewwilldisapper 提前销毁定时器 这样就会走VC 的delloc 的方法。定时器的启动 使用了
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSArray *viewControllers = self.navigationController.viewControllers;
//确保是POP 情况下
if ([viewControllers indexOfObject:self] == NSNotFound) {
// View is disappearing because it was popped from the stack
[self.timer invalidate];
self.timer = nil;
}
}
2.cell 中含有倒计时
项目中遇到cell 中有倒计时,思路是在VC 中使用定时器 修改数据源 的时间 ,同时发通知更新cell中的label 的时间值。注意:自定义cell 需要监听通知 和 在delloc记得关闭通知。
网友评论