setDelegate: self и retainCount - PullRequest
       11

setDelegate: self и retainCount

0 голосов
/ 10 октября 2011

у меня есть UIView [self] с двумя обычными UIViews [articalBottomPanel] [movingSharePanel]

каждое обычное представление объявляется в одном классе

первое представление [articalBottomPanel] будет установлено делегатом делегатак себе

второе представление также будет принимать [self.artical], [self]

как здесь:

[self.articalBottomPanel setDelegate:self];
[self.articalBottomPanel.btnCommment addTarget:self action:@selector(commentBtnPressed:) forControlEvents:UIControlEventTouchUpInside]; 



[self.movingSharePanel setArtical:self.artical];
[self.movingSharePanel setParentView:self];  

Мой код сделки

- (void)dealloc
{
    NSLog(@"ArticalViewController : dealloc");


    [movingSharePanel_ release];
    [articalBottomPanel_   release]; 


    [super dealloc];
}

проблема в том, что когда я выталкиваю представление [self] dealloc не вызывается?!

вопрос заключается в следующем: прежде чем выдвигать это представление [self], нужно ли делать какие-либо выпуски больше, чем выпуск в delloc?!

Ответы [ 2 ]

1 голос
/ 10 октября 2011

retainCount бесполезно.Не называйте это.

В частности, абсолютный счет сохранения объекта является несущественной деталью реализации, которую обычно следует игнорировать (это полезно, если у вас также есть точный инвентарь каждого сохранения / выпуска, ноесли у вас есть это, то счетчик сохранности тоже не полезен).

См. этот ответ , чтобы получить блестящее объяснение того, как точно отследить, кто / что все еще удерживает объект.

1 голос
/ 10 октября 2011

Вы сделали делегата как @property (сохранить)? Если да, тогда сделайте это. Если нет, то убедитесь, что ваш ViewController выпущен. Проверьте, если после нажатия вы отпустите его или нет.

...