Você deve definir o delegado para nulo na classe usando o delegado ou na própria classe
Se a classe A estiver usando a classe B e a classe A for o delegado da classe B, será aceitável se o delegado estiver definido como nulo no acordo de classe B? Eu tenho visto código geralmente redefinir o delegado para zero dentro do dealloc da classe A, mas não tinha certeza da diferença real fazendo isso de uma forma ou de outra.
por exemplo. Essa é a maneira usual:
// somewhere in class A
- (void) someFunc {
self.b = [[B alloc] init];
self.b.delegate = self;
}
- (void) dealloc {
self.b.delegate = nil;
[self.b release];
}