NSDate создание утечки памяти - PullRequest
2 голосов
/ 17 августа 2011

Я уже просматривал вопросы, которые уже были опубликованы, и было много подсказок, с которыми я пытался работать.К сожалению, я не могу решить проблему.

У меня просто есть следующий код:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDate *date = [[NSDate alloc] init];
self.timestamp = date;
[date release];

[pool release];

Но все же есть утечка памяти в строке выделения NSDate.Я пробовал это без AutoreleasePool, я пытался использовать сток вместо выпуска для пула, я даже пытался использовать статический метод даты NSDate.Но я не избавляюсь от утечки памяти.

Я до сих пор не понимаю.Любая помощь высоко ценится.

Ответы [ 3 ]

1 голос
/ 17 августа 2011

это [timestamp release] в вашей dealloc реализации? IE:

-(void)dealloc {
  // ... your other retained property/ivar releases ... //
  [timestamp release];
  [super dealloc];
}

Кроме того, если вы работаете в стандартном проекте iOS, вам не нужно настраивать NSAutoreleasePool самостоятельно (если вы не находитесь в жестком цикле или в поточной реализации).

1 голос
/ 17 августа 2011

только запись

self.timestamp = [NSDate date];

вместо заданного блока кода будет работать без утечек.

0 голосов
/ 17 августа 2011

Управление памятью в ObjectiveC для iOS - просто подсчет ссылок.Если вы находите «Управление памятью Apple немного устрашающим» , попробуйте это - «Простые инструменты управления памятью для какао»

...