我正在檢查日程安排字典中的日期對象,並想知道完成日期指針後應如何處理。建立和分析不抱怨它,但它只是坐在那裏嘲笑我。我覺得它只是坐在那裏,當功能完成時,甚至每次通過循環創建一個新的。另外,每次通過循環釋放一天時,我最終會釋放原始對象。有任何想法嗎?這是什麼內存管理角度?
- (NSUInteger) showsInTheNext:(NSUInteger)days {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyLLdd"];
if(days == 0) days = 91;
NSUInteger shows = 0;
for (NSUInteger x = 0; x < days; x++)
{
Day *day = [self.schedule objectForKey:[dateFormatter stringFromDate:[self.date addTimeInterval:60*60*24*x]]];
if((day != nil) && ([day.type isEqualToString:@"Show"])) shows++;
//[day release];
}
[dateFormatter release];
return shows;
}
好的,那麼我該如何去丟棄指針呢?我在想,當我製作這個新的指針時,可能指向的對象的保留計數會增加,因此當我最終從日程安排字典中將其刪除時,可能不會釋放它。 – rob5408 2009-10-07 21:26:57
上面的指針只是一個指針 - 分配給它的對象沒有什麼特別的事情發生。所以在這種情況下,沒有保留消息被髮送到字典中找到的對象。要丟棄指針,只需按照您發佈的示例進行操作即可:無。 – fbrereto 2009-10-07 21:30:36
woohoo!謝謝! – rob5408 2009-10-07 21:32:17