NSTimer отключает освобождение памяти в UIView

@interface someview:UIView{
  NSTimer* timer;
}
@end

@implementation someview

-(void)dealloc{
  NSLog(@"dealloc someview");
  [timer invalidate];
  timer = nil;
}
-(void)runTimer{
//
}
-(void)someMethod{

  timer = [NSTimer timerWithTimeInterval:2.0f target:self selector:@selector(runTimer) userInfo:nil repeats:YES];
}

@end

Освобождение someview НЕ вызывает dealloc, и таймер продолжает работать.

Если я закомментирую часть "timer = [NSTimer schedule ....", то будет вызвана функция dealloc. Это означает, что вся остальная часть моего кода работает правильно, и виноват таймер. Метод runTimer пуст, а это значит, что это всего лишь таймер, который меня балует.

9
задан ssj 14 April 2011 в 22:25
поделиться