1
我有一個應用程序正在運行一個簡單的計時器。以下代碼每秒從NSTimer運行幾次。我將首先承認,作爲一名新的iOS開發人員,內存管理是我目前最弱的技能。當我運行這段代碼時,如果我讓計時器運行一段時間,我開始得到內存警告,並最終崩潰。如果我禁用NSTimer,它可以運行很長時間。我不知道是什麼導致泄漏:不能找到內存泄漏的地方在這段代碼
- (void)onTimerTick
{
NSDate *date = [NSDate date];
NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date];
NSInteger hour = [dateComponents hour];
NSInteger min = [dateComponents minute];
NSInteger sec = [dateComponents second];
double milliSince1970 = [date timeIntervalSince1970];
int secsSince1970 = [date timeIntervalSince1970];
int frame = (((milliSince1970 - secsSince1970) * 1000)/frameDuration) + 1;
timeCode.text = [NSString stringWithFormat:@"%d:%d:%d:%d", hour, min, sec, frame];
[calendar dealloc];
}
任何幫助將不勝感激!
哦,你是英雄。非常感謝 - 它的工作完美,我知道我一直在刪除錯誤的對象!謝謝。 – Rich 2011-05-02 22:24:32