Как мне реализовать метод выпуска? - PullRequest
0 голосов
/ 03 февраля 2012

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

-(void) release
{
 if(retainCount == 1)
 {
  [self freeMemory];
 }
 else
 {
  retainCount --;
 }
}

-(void) freeMemory
{

} 

Ответы [ 2 ]

3 голосов
/ 03 февраля 2012

Краткий ответ: вы бы назвали [self dealloc], но вам действительно не следует делать такие вещи, когда-либо когда-либо . В ARC даже невозможно написать код такого типа.

Ваш метод точно дублирует функциональность метода release, который ваш класс уже унаследовал от NSObject, поэтому очень трудно понять, в чем суть.

Если вы хотите сделать что-то дополнительное, когда вызывается release, почему бы просто не позвонить [super release]?

Можете ли вы объяснить, что вы хотите делать на более высоком уровне - может быть, есть альтернативный подход?

0 голосов
/ 03 февраля 2012

В вашей функции freeMemory вы должны освободить всех оставшихся учеников и все.

...