Я проверяю объекты дня в своем расписании Словарь и хочу знать, что делать с указателем «День», когда я закончил. Build and Analyze не жалуется на это, но он просто сидит, насмехаясь надо мной. Я чувствую, что он просто сидит там, когда функция заканчивается, и, возможно, даже новый создается каждый раз через цикл. Кроме того, при выпуске дня каждый раз через цикл я заканчиваю выпуск исходного объекта. Есть идеи?Какова перспектива управления памятью?
- (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;
}
ОК, так как же я могу отказаться от указателя? Я думал, что когда я создаю этот новый указатель, возможно, удержание счета объекта, на которое указывает, увеличивается и, следовательно, может быть не выпущено, когда я в конечном итоге удалю его из расписания Dictionary. – rob5408
Указатель, который вы указали выше, является только указателем - ничего не происходит с назначенным ему объектом, когда он назначен. Таким образом, в этом случае сообщение об удержании не будет отправлено объекту, найденному из словаря. Чтобы отбросить указатель, вы просто выполняете то, что вы делаете в приведенном выше примере: ничего. – fbrereto
woohoo! благодаря! – rob5408