iOS小记--慎用performSelector:

今天发现一个问题,在ViewController中加一个延时任务,就像下边的代码。这样的代码通常用来处理些异常,比如说连接超时。

[self performSelector:@selector(connectTimeOut) withObject:nil afterDelay:time_out_internal];

但是这会导致ViewController在pop之后不会立马调用Dealloc方法释放。

解决方法也很简单,在正常逻辑情况下,手动的把performSelector:取消掉,方法如下:

[NSObject cancelPreviousPerformRequestsWithTarget:self];

感兴趣的可以在官方文档里搜索下这些方法,更多关于performSelector:的详细内容也可以查看这篇文章:

你可能感兴趣的:(iOS小记--慎用performSelector:)