Утечка памяти от NSTimer? - PullRequest
1 голос
/ 12 апреля 2011

Я занимаюсь разработкой приложения, и оно, по сути, работает и работает хорошо. Очевидно, не достаточно хорошо, хотя. При запуске инструмента «Утечки» я вижу много утечек из моего NSTimer.

NSTimer запускается и останавливается с помощью переключателя UIS. Утечка памяти происходит каждый раз, когда переключатель переключается в положение «OFF»

//PlayView.h
@interface PlayView : UIViewController {
  NSTimer *autoTimer;   
  // other things
}

@property (nonatomic, retain) NSTimer *autoTimer;
// etc...


//PlayView.m
#import "PlayView.h"
@implementation PlayView
@synthesize autoTimer;  


- (IBAction) toggleEnabledForSwitch1: (id) sender {  
    if (switch1.on) {
        self.autoTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
                target:self
                selector:@selector(updateCounter:)
                userInfo:nil
                repeats:YES];

    }

    else {
        restart = 1;
        [self.autoTimer invalidate];
        self.autoTimer = nil;       
    [self.autoTimer release];
    }
}


- (void)updateCounter:(NSTimer *)theTimer {
  // Do a bunch of stuff
}

Что может быть причиной этого? Я уверен, что это должно быть что-то простое, и я просто скучаю по этому ...

...