@interface someview:UIView{ NSTimer* timer; } @end @implementation someview -(void)dealloc{ NSLog(@\"dealloc someview\"); [timer invalidate]; timer = nil; } -(
NSTimer retains the target. Therefore, the timer must be invalidated before your view is dealloc'd.