Use the below code. It will work
But keep in mind that it must only be called if our timer is in running mode else the application will get crashed.
- (void)viewWillDisappear:(BOOL)animated {
//BEFORE DOING SO CHECK THAT TIMER MUST NOT BE ALREADY INVALIDATED
//Always nil your timer after invalidating so that
//it does not cause crash due to duplicate invalidate
if(timer)
{
[timer invalidate];
timer = nil;
}
[super viewWillDisappear:animated];
}