超时可以用NSTimer,但还可以用下面这种方法
在开始后,调用
[self performSelector:@selector(pingTimeOut) withObject:nil afterDelay:self.timeout];
当有返回后,调用这句代码,取消延迟执行方法的调用
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(pingTimeOut) object:nil];
如果没有返回,就会调用pingTimeOut方法,进入超时