Как мне выпустить UIImageView, выделенный так? - PullRequest
0 голосов
/ 20 мая 2011

Я выделил UIImageView внутри метода setBackground моей ячейки табличного представления следующим образом:

 [cell setBackgroundView:[[UIImageView alloc]initWithImage:rowBackground]];

Когда я запускаю Analyze в XCode 4, эта строка выделяется как возможная утечка памяти. Как мне выпустить этот UIImageView, так как я не получил указатель на ссылку из вызова релиза?

Ответы [ 2 ]

1 голос
/ 20 мая 2011

Вы можете либо распределить его по-другому (т.е. сохранить его в ivar и освободить его), либо вызвать autorelease на нем, например:

[cell setBackgroundView:[[[UIImageView alloc]initWithImage:rowBackground] autorelease]];
1 голос
/ 20 мая 2011

Отправьте ему сообщение autorelease :

[cell setBackgroundView:[[[UIImageView alloc]initWithImage:rowBackground] autorelease]];

В сообщении autorelease вы заявляете, что не хотите владеть объектом, выходящим за рамки, в которых вы отправили сообщение.

...