0
我正在使用屬性。 self.refreshTimer = nil;在這個字符串中,我得到了CFRelease錯誤。 爲什麼我得到一個錯誤?NSTimer內存錯誤
@property (nonatomic, retain) NSTimer* refreshTimer;
- (id) init
{
self = [super init];
if (self != nil)
{
self.refreshTimer = [NSTimer timerWithTimeInterval:600 target:self selector:@selector(timerRefreshGPS:) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:refreshTimer forMode:NSDefaultRunLoopMode];
}
return self;
}
-(void) updateUserGPSLocation:(CLLocation*)newLocation
{
[refreshTimer invalidate];
[refreshTimer release];
self.refreshTimer = nil;
self.refreshTimer = [NSTimer timerWithTimeInterval:600 target:self selector:@selector(timerRefreshGPS:) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:refreshTimer forMode:NSDefaultRunLoopMode];
}
- (void)dealloc
{
[refreshTimer invalidate];
[refreshTimer release];
self.refreshTimer = nil;
[super dealloc];
}
你能告訴我們timerRefreshGPS方法做什麼嗎?你確定它沒有使計時器失效並釋放計時器嗎? – Ravin 2011-05-13 12:57:33
- (無效)timerRefreshGPS:(ID)發送方 { \t self.isNeededRefreshGPS = YES; } – Voloda2 2011-05-17 09:55:50