今天发现一个问题,在ViewController中加一个延时任务,就像下边的代码。这样的代码通常用来处理些异常,比如说连接超时。
[self performSelector:@selector(connectTimeOut) withObject:nil afterDelay:time_out_internal];
但是这会导致ViewController在pop之后不会立马调用Dealloc方法释放。
解决方法也很简单,在正常逻辑情况下,手动的把performSelector:取消掉,方法如下:
[NSObject cancelPreviousPerformRequestsWithTarget:self];
感兴趣的可以在官方文档里搜索下这些方法,更多关于performSelector:的详细内容也可以查看这篇文章:
网友评论